【发布时间】: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构造函数有问题。查看图片示例。