我在 JSF2 和 Facelets 的帮助下设计了一个 JavaEE 网站。超出的代码只是 JSF 代码的示例。
当网站的用户想要创建新用户但忘记设置例如名字时,会发生错误并且元素将被突出显示(元素周围的红色和红框)。为了突出显示,我必须使用该属性:
class="#{faceletUtils.getLabelStyleClass('createUsersForm:allUsers:0:firstName')}"
问题是我必须动态设置数字 0,但据我所知,JSF 中不允许嵌套。我可以使用 #{curUser.number} 来获取号码。
问题:如何设置 for 和 class 属性中的数字?
for="createUsersForm:allUsers:0:firstName" class="#{faceletUtils.getLabelStyleClass('createUsersForm:allUsers:0:firstName')}"
JSF 代码示例:
<h:form id="createUsersForm">
<ui:repeat id="allUsers" value="#{createUserController.users}" var="curUser">
<div class="formLine">
<label for="createUsersForm:allUsers:0:firstName" class="#{faceletUtils.getLabelStyleClass('createUsersForm:allUsers:0:firstName')}">
<h:outputText value="#{userStaticText['user.firstName.label']}"/>
</label>
<h:inputText id="firstName" value="#{curUser.firstName}" class="#{faceletUtils.getLabelStyleClass('createUsersForm:allUsers:0:firstName')}"/>
</div>
</ui:repeat>
</h:form>
最好的问候,贾娜