Java 如何在downloadLink中使用wicket StringResourceModel

Java 如何在downloadLink中使用wicket StringResourceModel,java,wicket,Java,Wicket,我有一个可以工作的按钮: Button options = new Button("sheets", new StringResourceModel("sheets", null)) { private static final long serialVersionUID = 1L; @Override public void onSubmit() { setResponsePage(new Tournament

我有一个可以工作的按钮:

    Button options = new Button("sheets", new StringResourceModel("sheets", null)) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            setResponsePage(new TournamentOptionsPage(tournament, table) {

                private static final long serialVersionUID = 1L;
            });
        }
    };
现在我想用downloadLink替换此按钮:

        add(new DownloadLink("sheets", new AbstractReadOnlyModel<File>() {
            private static final long serialVersionUID = 1L;

            @Override
            public File getObject() {
                File tempFile;
                try {
                    tempFile = PdfFactory.createSheets(WicketApplication.getSheetsPath(),
                            tournamentService.getSchedule(table, tournament), table);
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                }
                return tempFile;
            }
        }, new StringResourceModel("sheets", null)).setCacheDuration(Duration.NONE).setDeleteAfterDownload(true));

为什么这个按钮不起作用?

我不知道为什么按钮起作用,但DownloadLink不起作用。无论如何,您可以通过将容器组件传递给StringResourceModel来解决问题。像这样的东西应该可以:

new StringResourceModel("sheets", this,null)

我已经开始讨论这个问题了


快速回复:您还没有在任何地方定义属性“表”,这就是它找不到它的原因。是的,为什么在按钮中它可以工作?我已经在属性文件中定义了它,我没有上传到这里。这段代码解决了异常,但链接仍然没有翻译,文件名的名称被覆盖到“sheets”中。包来自哪里?我是说,财产档案在哪里?它是为链接的容器定义的吗?我按照这个示例创建本地化页面:因此属性文件与html和java文件位于同一文件夹中DownloadLink似乎有一个bug。如果我是对的,我将在Wicket issue tracker上打开一个问题。顺便问一下,您希望获得的最终结果是什么?你说那个链接“还没有翻译”是什么意思?是的。我的补丁已经被接受,但我们应该等到下一个版本有修复。好的,谢谢。我希望他们尽快发布新版本:)你好。我希望你的音乐仍在调整。我发现这个问题已经解决,所以我再试一次。我改为1.5.9版,但仍然有负面结果:(.我尝试了新的StringResourceModel(“sheets”,这个,null),新的StringResourceModel(“sheets”,null)和新的ResourceModel(“sheets”),什么都不起作用:(好的,我知道了。现在文件名是localize。问题是我不想要它。我想要本地化下载链接的标签,但仍然不起作用
new StringResourceModel("sheets", this,null)