2011-05-11 69 views
1

我有一个场景,我必须给用户选择应用程序及其相关配置文件的选项。用户应该至少选择一个应用程序和一个配置文件,并且他也可以选择多个。每个应用程序都有自己的配置文件,可以有多个应用程序。我的UserBean具有ApplicationVO列表,并且ApplicationVO具有isSelected(boolean),应用程序id(int),应用程序名称(String)和配置文件列表。该配置文件列表具有ProfileVO列表和ProfileVO具有isSelected(boolean),配置文件id(int)和配置文件名称(字符串)。JSF Datatable和SelectBooleanCheckBox

我是JSF的新手,并试图使用数据表和SelectBooleanCheckBox,它工作正常。但在这一点上,我不确定如何验证并在相同的JSP中显示错误消息,其余用户输入的数据完好无损。另外我不确定如何用用户选中/取消选中的选项来更新bean。

当用户点击提交我的验证应该是:

  1. 至少一个应用应该选择
  2. 如果选择一个应用程序,至少一个轮廓应选择
  3. 档案复选框应被禁用,直到应用程序被选中
  4. 当用户取消选中应用程序复选框时,应该禁用配置文件复选框。

我有以下代码。请帮助我,也可以建议我是否有任何其他最好的方法来实现。

<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> 
+0

JSF的1.x或2.x中得到选择的值? – BalusC 2011-05-11 15:58:27

+0

我正在使用JSF 1.2 – Solomon 2011-05-11 17:59:13

+0

我真的很坚持这一点。如果有人能帮助我,我会非常感激。谢谢 – Solomon 2011-05-11 21:42:41

回答

0

我能够在bean验证来实现,并能够从ApplicationList