【发布时间】:2013-08-06 12:49:09
【问题描述】:
我在 dataTable 中有一个 p:inputText 字段,我正在尝试动态设置它的标识符。
但是我收到以下错误:
组件标识符不能是零长度字符串
用作 id 的字符串都不是 null 或零长度
<h:form id="updateform">
<p:dataTable id="updatetable" value="#{EditingBean.row}" var="column"
style="width: 983px; overflow-x: auto; white-space: normal;">
<f:facet name="header">
<h:outputText value="#{EditingBean.currentStatement.statementName}" />
</f:facet>
<p:column rendered="#{column.display}" style="white-space: normal;">
<h:outputText value="#{column.alias}" />
</p:column>
<p:column rendered="#{column.display}" style="white-space: normal;">
<p:inputText id="#{column.name}" value="#{column.value}" />
</p:column>
<f:facet name="footer" style="text-align: right;">
<h:commandButton value="Update" action="#{EditingBean.update()}"
ajax="false" />
</f:facet>
</p:dataTable>
</h:form>
【问题讨论】:
-
再次检查#{EditingBean.row} 对象中每个对象的#{colum.name} 值。如果一个 name 属性是 null 或 ""(一个空字符串),你会得到错误。
-
我有,绝对没有一个是 null 或 ""。
-
这里是值:mep_ident、mep_ptrpartident、mep_ptrpassident、mep_code_doc、mep_production
标签: jsf-2 primefaces identifier