我见过包含以下内容的示例:
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,或者只是对它们进行某种处理。