迁移到wicket 1.5 - 资源(路径)问题

时间:2015-04-23 14:26:06

标签: java wicket wicket-1.5

我的任务是迁移到wicket 1.4到wicket 1.5。尽管移民指南中缺乏信息,但我能以某种方式重构大多数问题。不幸的是我被“资源”困住了 - 我得到了这个错误

  

java.lang.IllegalArgumentException:参数'resource'可能不为null。

我理解的是,某些事情发生了变化,检票口无法再“获取”我的资源。所以我曾经(在wicket 1.4中)有一段代码负责创建图像并传递它(该方法在扩展WebPage的类中):

    $('#map').usmap({
  <event>State: {
    'MD' : function(event, data) {
      console.log('You interacted with the state of Maryland');
    }
  }
});

现在资源类已不存在或者我找不到它。在搜索互联网时,我能够将其更改为

    private void addImageLogo() {
            Resource res = new Resource() {
                @Override
                public IResourceStream getResourceStream() {
                    String logo = ConfigurationManager.getInstance().getPathValue(ConfigurationManager.LOGO_FILE_PATH);
                    return new FileResourceStream(new File(logo));

        };

        Image logo = new Image("logo", res);
        add(logo);
    }

这负责获取路径(及其工作):private void addImageLogo() { String logoTxt = ConfigurationManager.getInstance().getPathValue(ConfigurationManager.LOGO_FILE_PATH); ResourceReference res = new ResourceReference(logoTxt) { @Override public IResource getResource() { return null; } }; Image logo = new Image("logo", res); add(logo); }

不幸的是,我仍然遇到上面提到的这个错误。方法ConfigurationManager.getInstance().getPathValue(ConfigurationManager.LOGO_FILE_PATH)自动生成,我相信这是一个问题,因为我正在重新调整getResource(),但我不知道应该返回什么(或如何)。

1 个答案:

答案 0 :(得分:1)

由于它适用于1.4.x中的IResourceStream,因此您只需使用org.apache.wicket.request.resource.ResourceStreamResource作为Image的IResource。

您的第一个代码段未完整,因此我无法为您提供准确的替换代码。