【问题标题】:Wicket IPackageResourceGuard Image in ListviewListview 中的 Wicket IPackageResourceGuard 图像
【发布时间】:2015-08-14 21:35:23
【问题描述】:

我无法将图像添加到位于 /webapp/images/ 目录中的列表视图。

ListView<Games> gamesList = new ListView<Games>("gamesList", games) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Games> item) {
            Games game = item.getModel().getObject();
            item.add(new Image("champImage", "hello").add(new AttributeModifier("src", "dorans.png")));
            item.add(new Image("enemyChampImage", "world").add(new AttributeModifier("src", "dorans.png")));
            item.add(new Label("champName", game.getChampName()));
            item.add(new Label("enemyChampName", game.getEnemyChampName()));
            item.add(new Label("goldSpent", game.getGoldSpent()));
            item.add(new Image("item0", "name1").add(new AttributeModifier("src", "dorans.png")));
            item.add(new Image("item1", "name2").add(new AttributeModifier("src", "dorans.png")));
            item.add(new Image("item2", "name3").add(new AttributeModifier("src", "dorans.png")));
            item.add(new Image("item3", "name4").add(new AttributeModifier("src", "dorans.png")));
            item.add(new Image("item4", "name5").add(new AttributeModifier("src", "dorans.png")));
            item.add(new Image("item5", "name6").add(new AttributeModifier("src", "dorans.png")));
            item.add(new Image("item6", "name7").add(new AttributeModifier("src", "dorans.png")));
        }
    };

我在网上看到 Wicket (version#) 添加了一个 IPackageResourceGuard,因此不需要的文件不会被访问,所以我将它添加到我的 WicketApplication.java。

@Override
public void init()
{
    super.init();

    // add your configuration here
    IPackageResourceGuard packageResourceGuard = this.getResourceSettings().getPackageResourceGuard();
    if (packageResourceGuard instanceof SecurePackageResourceGuard) {
        SecurePackageResourceGuard guard = (SecurePackageResourceGuard) packageResourceGuard;
        guard.addPattern("+*.png");
    }

}

这是为了允许使用 .pngs,但我仍然遇到异常!

Caused by: org.apache.wicket.request.resource.PackageResource$PackageResourceBlockedException: Access denied to (static) package resource com/riot/itemsets/hello. See IPackageResourceGuard
at org.apache.wicket.request.resource.PackageResource.internalGetResourceStream(PackageResource.java:490) ~[wicket-core-7.0.0.jar:7.0.0]
at org.apache.wicket.request.resource.PackageResource.getResourceStream(PackageResource.java:440) ~[wicket-core-7.0.0.jar:7.0.0]
at org.apache.wicket.request.resource.PackageResource.getCacheKey(PackageResource.java:258) ~[wicket-core-7.0.0.jar:7.0.0]
at org.apache.wicket.request.resource.caching.version.RequestCycleCachedResourceVersion.getVersion(RequestCycleCachedResourceVersion.java:82) ~[wicket-core-7.0.0.jar:7.0.0]
at org.apache.wicket.request.resource.caching.FilenameWithVersionResourceCachingStrategy.decorateUrl(FilenameWithVersionResourceCachingStrategy.java:105) ~[wicket-core-7.0.0.jar:7.0.0]
at org.apache.wicket.core.request.mapper.BasicResourceReferenceMapper.mapHandler(BasicResourceReferenceMapper.java:240) ~[wicket-core-7.0.0.jar:7.0.0]
at org.apache.wicket.request.mapper.ParentPathReferenceRewriter.mapHandler(ParentPathReferenceRewriter.java:91) ~[wicket-request-7.0.0.jar:7.0.0]
at org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:213) ~[wicket-request-7.0.0.jar:7.0.0]
at org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:434) ~[wicket-core-7.0.0.jar:7.0.0]
at org.apache.wicket.request.cycle.RequestCycle.urlFor(RequestCycle.java:534) ~[wicket-core-7.0.0.jar:7.0.0]
... 108 more

【问题讨论】:

  • 好像Image构造函数有问题。查看图片示例。

标签: listview resources wicket


【解决方案1】:

在您的父母中,您有:&lt;wicket:child&gt;&lt;/wicket:child&gt;

在您的孩子中:&lt;wicket:extend&gt;&lt;/wicket:extend&gt;

,, 你的孩子需要改变,你必须把这个: <wicket:extend xmlns="http://www.w3.org/1999/xhtml" lang="en" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">

试试看。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 2011-11-23
    • 2023-03-17
    相关资源
    最近更新 更多