【问题标题】:disable/ enable primefaces components禁用/启用 primefaces 组件
【发布时间】:2015-05-10 21:50:49
【问题描述】:

我想在从 p:selectOneMenu 中选择后禁用一些 primefaces 组件,但是当我选择不选择选项时它仍然被禁用

<p:outputLabel value="Manager" style="color:white;font-weight: bold;" />
<p:selectOneMenu id="manager" value="#{employeeMB.selectedManager}" immediate="true">
     <f:selectItem itemLabel="Selectionner..." noSelectionOption="true"/>
     <f:selectItems value="#{employeeMB.managers}"  />
     <p:ajax update="managerSelect role"  />
</p:selectOneMenu>

<p:outputLabel value="Est un Manager" 
               style="color:white;font-weight: bold;" />
<p:selectBooleanCheckbox id="managerSelect" 
                         value="#{employeeMB.employee.isManager}" 
                         disabled="#{employeeMB.selectedManager != null}" />

<p:outputLabel for="role" value="Role Utilisateur" style="color:white;font-weight: bold;" />
<p:selectManyCheckbox id="role" value="#{employeeMB.selectedRoles}">
    <f:selectItem itemLabel="Employée" itemValue="ROLE_EMPLOYEE" />
    <f:selectItem itemLabel="Manager" itemValue="ROLE_MANAGER" itemDisabled="#{employeeMB.selectedManager != null}"/>
    <f:selectItem itemLabel="RH" itemValue="ROLE_RH" itemDisabled="#{employeeMB.selectedManager != null}"/>
</p:selectManyCheckbox>

【问题讨论】:

    标签: jsf-2 primefaces


    【解决方案1】:

    当更新的模型值不是null,而是一个空字符串时,就会发生这种情况。您需要重新配置 JSF 以将提交的空字符串值解释为 null,以避免模型通过 web.xml 中的以下条目被空字符串污染。

    <context-param>
        <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
        <param-value>true</param-value>
    </context-param>
    

    不过,最好使用#{not empty bean.property} 而不是#{bean.property != null}。它还涵盖了空字符串。


    与具体问题无关noSelectionOption 在那边没用。仔细阅读Best way to add a "nothing selected" option to a selectOneMenu in JSF 以了解它。我也怀疑您对那里的immediate 属性的理解。摆脱它。由于所有的 ajax 魔法,它在 JSF 2.x 世界中不再具有任何意义。

    【讨论】:

      猜你喜欢
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      相关资源
      最近更新 更多