Java Server Faces JSF - кто отвечает за автоматически генерируемые идентификаторы? - PullRequest
8 голосов
/ 07 января 2011

когда сервлет Faces компилирует jsp в сервлет в рабочем каталоге, он генерирует идентификаторы, например j_id_jsp_1024919151_1 ...

Когда меняется идентификатор?Я попробовал это на той же машине, очистка рабочего каталога, все тот же.Я запустил еще одну Apache Tomcat на той же машине и получил новый идентификатор ...

Спасибо Стефану

Ответы [ 3 ]

10 голосов
/ 07 января 2011

Компонент id компонента генерируется реализацией, если он не задан.

Значение атрибута id , переданное встраница - это идентификатор клиента .Он построен с использованием правил, определенных в ссылке, и будет включать родительские NamingContainer идентификаторы и, возможно, пространство имен представления.

Подробнее о работе с идентификаторами клиента JSF можно прочитать здесь * 1016.*.

3 голосов
/ 07 января 2011

JSF автоматически генерирует идентификаторы для компонента в течение жизненного цикла, когда вы его не указали. Если вы не хотите использовать эту функцию, установите индивидуальный идентификатор для всех компонентов и установите идентификатор для <h:form>, чтобы избежать этого.

Также установка идентификатора самостоятельно поможет вам больше в проверке на основе Javascript, где значения полей получены с использованием идентификаторов

0 голосов
/ 07 января 2011

Генерация идентификатора будет зависеть от реализации.Под этим я подразумеваю, что любая используемая вами реализация JSF будет иметь механизм для генерации идентификаторов на основе переменных, которые «достаточно хороши» для уникальной идентификации.Возможно: имя класса, имя элемента html и т.д ....

Возможно, вы захотите проверить исходный код исходной реализации .

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...