Я создаю страницу, на которой будет несколько экземпляров тега, например как показано ниже.
<ui:include id="foo" src="images/something.svg" />
Сервлет Faces передает файл svg в браузер без какой-либо обработки, кроме найденных им выражений EL, и это нормально. Проблема в том, что теги идентификаторов во включаемом файле статичны, поэтому при многократном включении этого файла будут генерироваться неуникальные теги идентификаторов.
Я хочу сделать что-то вроде того, что делает h: form , где ID ui: Тег include добавляется к идентификаторам элементов во включенном файле. Тогда я мог бы однозначно ответить на все.
Есть ли общепринятый "лучший способ" сделать это?
ОБНОВЛЕНИЕ: возможно, мне следует дополнить этот вопрос следующим вопросом, который я должен сделать в первую очередь место? Моя цель - однозначно адресовать теги в каждой из включенных копий svg-документа, которых может быть любое количество. У меня есть jQuery, так как Primefaces все равно его втягивает.
Итак, если у меня есть такой файл JSF:
<ui:include id="foo" src="images/something.svg" />
<ui:include id="bar" src="images/something.svg" />
А внутри файла something.svg у меня есть тег
<rect id="blink" ... />
В javascript на странице я хочу получить указатель на foo: blink или bar: blink . Я полагаю, что мог бы использовать выражения XPath, но я понял, что они медленные. Я могу' Представляю, что ребята, которые изобрели тег ui: include , не думали, как с этим бороться, так что я предполагаю, что упустил что-то очевидное.