Использование ресурсов в JSF2 - отличная вещь, потому что вы можете хранить ресурс в каком-то месте, а затем ссылаться на него, используя различные альтернативы в HTML или в JSF2.Я использую ресурсы, подобные этим, на страницах XHTML:
<h:graphicImage value="#{resource['image:sort_up.png']}"/>
или использую ресурсы Java, когда создаю свой собственный taglib:
ResourceHandler resHandler = context.getApplication().getResourceHandler();
Resource minus = resHandler.createResource(IMAGES_TOGGLE_MINUS_PNG,"image");
writer.startElement("img", toComponent);
writer.writeAttribute("src", minus.getRequestPath(), "src");
Затем выглядит переведенный путь в HTMLчто-то вроде этого:
/nbfrontend/jsf2frontend/javax.faces.resource/sort_up.png.xhtml?ln=image
Вопрос: как мне ссылаться на эти изображения из JavaScript?
Один из способов - создать скрытый элемент, в котором я буду хранить путь, а затем использовать getElementByID, чтобы извлечь скрытый элемент и получить значение оттуда.Но это плохо масштабируется, когда в приложении используется много изображений.
Другим обходным решением было бы передать путь к изображениям функциям JavaScript, но это невозможно для функций JavaScript, которые не вызываются напрямую.
Есть ли другая альтернатива для использования такихРесурсы JSF2 в JavaScript?