我见过包含以下内容的示例:
mountSharedResource("/images/logo.gif", new ResourceReference(ImageScope.class,
"logo.gif").getSharedResourceKey());
mountSharedResource("/resource",
Application.class.getName() + "/" + resourceKey);
但是 Javadoc 对构造函数说:
ResourceReference(java.lang.Class<?> scope, java.lang.String name);
所以当你创建一个 时ResourceReference
,你给它一个类。为什么?通常你会想要全局作用域或者ResourceReference
你刚刚创建的对象的作用域,不是吗?
还有,什么是name
?是sharedResourceKey
吗?如果不是,resourceKey
从哪里来?它是如何产生的,为什么不是名字?或者name
在类路径上查找,然后神奇地加载(假设类路径上只有一个具有该名称的文件;如果有多个会发生什么?)?如果它确实加载了一个具有该名称的文件,为什么它不在 Javadoc 中这样说呢?
您实际上如何为此分配物理资源ResourceReference
?有一个getResource()
,但他们似乎错过了setResource()
。如果你的webapp
目录中有一个图像文件,你如何“附加”对文件的引用、它的路径,甚至是文件内容的字节流?如果有办法在 webapp 中读取资源,这可能很有用,但你不能;它只在类路径中。
我希望能够“挂载”其中的内容,例如,webapp/games/someGame.swf
以便 Wicket 页面可以访问 web 应用程序中的 SWF,或者只是对它们进行某种处理。