Mah*_*leh 2 jsf icefaces jsf-2
我定义h:messages组件如下:
<h:messages id="summary" styleClass="summary" globalOnly="true"/>
Run Code Online (Sandbox Code Playgroud)
但是当我用firebug检查元素时,我注意到id被翻译成类似于: j_idt33:summary
这个前缀是什么,为什么会产生?
这是父的ID NamingContainer部件等<h:form>,<h:dataTable>,<ui:repeat>,<f:subview>,复合部件等
JSF使用父命名容器组件的ID预先生成生成的HTML客户端ID,以便在生成的HTML输出中多次重用组件时避免HTML客户端ID中的冲突,例如在表行或包含文件中或者复合组件等.具有相同ID的多个HTML元素是非法的.
您可以通过为NamingContainer组件提供固定ID 来抑制自动生成的ID.在你的特殊情况下,它很可能是<h:form>.所以给它一个固定的ID,例如
<h:form id="form">
...
Run Code Online (Sandbox Code Playgroud)
这种方式j_idt33:summary将成为form:summary.
| 归档时间: |
|
| 查看次数: |
1625 次 |
| 最近记录: |