Есть ли способ заставить JSF2 не изменять идентификаторы?
Вы можете установить prependId="false"
Таким образом, в сгенерированном HTML это будет с вместо j_idt8: с .
prependId: Флаг, указывающий, следует ли заполнять эту форму
его идентификатор к идентификатору его потомка во время генерации clientId
процесс. Если этот флаг не установлен, значением по умолчанию является true.
Как я могу получить этот элемент, например, JQuery?
Вы можете использовать ancestorComponent:from
в jQuery, чтобы получить этот элемент.
На самом деле j_idt8 in j_idt8: с автоматически генерируется идентификатор компонента-предка вашего <h:inputText/>
например
<h:form id="form">
<h:inputText id="from" value="#{fromToMBean.fromName}"/>
</h:form>
Теперь сгенерированный идентификатор входного текста будет иметь вид : с
Если вы не предоставляете идентификатор для компонента, ваш браузер генерирует его динамически. Поэтому не забудьте указать идентификаторы для компонентов.