Я видел примеры, содержащие такие вещи:
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
каталоге, как вы «прикрепляете» ссылку на файл, его путь или даже поток байтов содержимого файла?Если бы в веб-приложении был способ чтения ресурсов, это может быть полезно, но вы не можете;это только в classpath.
Я хотел бы иметь возможность "смонтировать" содержимое, скажем, webapp/games/someGame.swf
, чтобы к SWF в веб-приложении можно было получить доступ со страниц Wicket, или просто получить некоторыевид ручки на них.