在单击删除命令按钮之前应该检查复选框...如何在jsf中执行

时间:2012-10-15 10:39:33

标签: jsf richfaces

 <h:form>
        <rich:dataTable value="#{classBean.classList}" var="class"
                id="classTable" style="width: 90%" rows="10">    
        <f:facet name="header">
        <h:outputText value="class list" style="float: left"></h:outputText>
        </f:facet>
        <rich:column style="width: 35px">
            <h:selectBooleanCheckbox
            value="#{classBean.selected[class.name]}" />
            </rich:column>
            <rich:column>
        <f:facet name="header">
                   class name
             </f:facet>
        <h:outputText value="#{class.name}" />
        </rich:column>  
        <f:facet name="footer">
           <a4j:commandButton value="add" action="#{classBean.add}" />
           <a4j:commandButton value="delete" action="#{classBean.delete}" />
         </f:facet>
        <rich:dataTable>
     <h:form>

我必须验证,例如用户应该在单击“删除命令”按钮之前选择至少一个复选框。

如果我使用验证器,它将仅检查已选中或未选中....我需要在删除commandButton时单击复选框

1 个答案:

答案 0 :(得分:1)

在您的bean中添加此代码

private boolean checked;

public boolean isChecked() 
{

    if(selected.values().contains(true))
        checked=true;
    else
        checked=false;


    return checked;
}

使用弹出式面板显示错误消息并将呈现的属性设置为#{bean.checked}