我有一个场景,我必须给用户选择应用程序及其相关配置文件的选项。用户应该至少选择一个应用程序和一个配置文件,并且他也可以选择多个。每个应用程序都有自己的配置文件,可以有多个应用程序。我的UserBean具有ApplicationVO列表,并且ApplicationVO具有isSelected(boolean),应用程序id(int),应用程序名称(String)和配置文件列表。该配置文件列表具有ProfileVO列表和ProfileVO具有isSelected(boolean),配置文件id(int)和配置文件名称(字符串)。JSF Datatable和SelectBooleanCheckBox
我是JSF的新手,并试图使用数据表和SelectBooleanCheckBox,它工作正常。但在这一点上,我不确定如何验证并在相同的JSP中显示错误消息,其余用户输入的数据完好无损。另外我不确定如何用用户选中/取消选中的选项来更新bean。
当用户点击提交我的验证应该是:
- 至少一个应用应该选择
- 如果选择一个应用程序,至少一个轮廓应选择
- 档案复选框应被禁用,直到应用程序被选中
- 当用户取消选中应用程序复选框时,应该禁用配置文件复选框。
我有以下代码。请帮助我,也可以建议我是否有任何其他最好的方法来实现。
<h:dataTable value="#{UserBean.applicationList}" var="appList">
<h:column>
<f:facet name="header">
<h:outputText value="Applications" />
</f:facet>
<h:selectBooleanCheckbox value="#{appList.isSelected}" label="#{appList.applicationName}"/>
<h:outputText value="#{appList.applicationName}" />
</h:column>
<h:column>
<f:facet name="header" >
<h:outputText value="Profiles" />
</f:facet>
<h:dataTable value="#{appList.profileList}" var="profileList">
<h:column>
<h:selectBooleanCheckbox value="#{profileList.isSelected}" />
<h:outputText value="#{profileList.profileName}" />
</h:column>
</h:dataTable>
</h:column>
</h:dataTable>
JSF的1.x或2.x中得到选择的值? – BalusC 2011-05-11 15:58:27
我正在使用JSF 1.2 – Solomon 2011-05-11 17:59:13
我真的很坚持这一点。如果有人能帮助我,我会非常感激。谢谢 – Solomon 2011-05-11 21:42:41