gpt4 book ai didi

jsf - JSF 组件 id 中生成的前缀 j_idt33 是什么?

转载 作者:行者123 更新时间:2023-12-02 12:01:35 25 4
gpt4 key购买 nike

我定义 h:messages 组件如下:

<h:messages id="summary"  styleClass="summary" globalOnly="true"/>

但是当我用 firebug 检查元素时,我注意到 id 被转换为类似:j_idt33:summary

该前缀是什么,为什么生成它?

最佳答案

这是父级的 ID NamingContainer 组件如 <h:form> , <h:dataTable> , <ui:repeat> , <f:subview> 、复合组件等

JSF 在生成的 HTML 客户端 ID 前面添加父命名容器组件的 ID,以避免在生成的 HTML 输出中多次重用某个组件(例如在表行中)时 HTML 客户端 ID 发生冲突,或者包含文件或复合组件等。多个具有相同 ID 的 HTML 元素是非法的。

您可以通过给出NamingContainer来抑制自动生成的ID组件有一个固定的ID。在您的特定情况下,它很可能是 <h:form> 。所以给它一个固定的ID,例如

<h:form id="form">
...

这样j_idt33:summary将变成form:summary .

关于jsf - JSF 组件 id 中生成的前缀 j_idt33 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8279189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com