【发布时间】:2011-12-04 07:42:26
【问题描述】:
我对验证内部输入字段的 JSF 组合有疑问。 只要只包含一个组合,下面的代码 sn-p 就可以工作。
<div id="#{cc.clientId}" >
<h:panelGroup styleClass="#{not firstname.valid ? 'fmError' : ''}">
<div class="col220">
<h:outputLabel for="firstname" value="Vorname(n):" />
</div>
<div class="col220">
<h:inputText id="firstname" styleClass="fmTxt "
value="#{cc.attrs.person.firstname}" binding="#{firstname}">
<f:validateRequired />
</h:inputText>
</div>
</h:panelGroup>
</div>
如您所见,我使用 cc.clientId 来包装组合,并为组合内的组件提供唯一 ID。因此,可以在单个页面上包含多个组合。
问题始于验证和绑定 inputText 组件的需要。我需要这个来询问 panelGroup 中的验证结果,以便不仅突出显示 inputField 还突出显示标签。
当在页面上仅使用一个组合时,此代码可以完美运行。使用第二个时,不再显示 inputField 'firstname'。我猜这与绑定及其硬编码的“#{firstname}”有关。
现在的问题是:如何为绑定属性创建唯一标识符?
感谢任何提示。谢谢!
【问题讨论】:
标签: java jsf-2 composite-component