作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试分配一个 id
到 <ui:repeat>
内的组件像这样:
<ui:repeat value="#{bean.columns}" var="column">
<h:panelGroup layout="block" id="column_#{column.id}"
styleClass="#{column.id} dashboard_column">
#{column.id}
值被正确放置在
styleClass
内值但它没有被设置在
id
中属性。所有这些都设置在
id
中属性是自动生成的
id
由 JSF + 我的硬编码值
column_
.
column_
我得到一个异常(exception):
java.lang.IllegalArgumentException: component identifier must not be a zero-length String at
最佳答案
这对于诸如 <ui:repeat>
的渲染时间标记是不可能的。 . <ui:repeat>
然而,它本身已经通过在其前面加上行索引来确保生成的客户端 ID 的唯一性。所以只需从组件的 ID 属性中删除 EL 部分。
<ui:repeat value="#{bean.columns}" var="column">
<h:panelGroup layout="block" id="column">
<c:forEach>
(这基本上会生成多个
<h:panelGroup>
组件,而不是只渲染多次的组件),可以像这样指定一个动态 ID。
<c:forEach items="#{bean.columns}" var="column">
<h:panelGroup layout="block" id="column_#{column.id}">
<div>
元素而不是 JSF
<h:panelGroup layout="block">
组件。
<ui:repeat value="#{bean.columns}" var="column">
<div id="column_#{column.id}">
关于jsf - 如何在 ui :repeat 中设置组件/标签的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9147771/
我是一名优秀的程序员,十分优秀!