0
<p:fieldset styleClass="weightTextBox">
            <p:selectOneMenu id="detectionSelector" value="#{ngs.detectionMode}">
                <f:selectItem itemValue="SYBR" itemLabel="SYBR" />
                <f:selectItem itemValue="NONE" itemLabel="None" />
                <f:selectItem itemValue="SYBR_GREEN" itemLabel="Sequencing" />
                <f:selectItem itemValue="PROBE" itemLabel="Probe" />
                <p:ajax event="change" update="@form" render="@form"/>
            </p:selectOneMenu>
            </p:fieldset>

我确实有多个选择项,而 NONE、SYBR、SYBR_GREEN 三个值具有相同的用法。我想做的是

<ui:fragment rendered="#{ngs.detectionMode ne 'SYBR_GREEN' or ngs.detectionMode ne 'NONE' or ngs.detectionMode ne 'SYBR'}">

虽然这种方式有效,但我需要所有 3 个选项。

<ui:fragment rendered="#{ngs.detectionMode ne 'SYBR_GREEN'}">

我尝试了多种方法,但都没有奏效。

<ui:fragment rendered="#{(ngs.detectionMode ne 'SYBR_GREEN') or (ngs.detectionMode ne 'NONE') or (ngs.detectionMode ne 'SYBR')}">


<ui:fragment rendered="#{ngs.detectionMode ne 'SYBR_GREEN' or 'NONE' or 'SYBR'}">
4

1 回答 1

0

我想您正在寻找在选择“PROBE”选项时ui:fragment才会呈现的标准。

在这种情况下,您需要像失败的尝试一样定义排他条件 (AND) 和非包含条件 (OR)。

因此,例如,而不是

<ui:fragment rendered="#{(ngs.detectionMode ne 'SYBR_GREEN') or (ngs.detectionMode ne 'NONE') or (ngs.detectionMode ne 'SYBR')}">

你应该使用

<ui:fragment rendered="#{(ngs.detectionMode ne 'SYBR_GREEN') and (ngs.detectionMode ne 'NONE') and (ngs.detectionMode ne 'SYBR')}">

另请注意,p:ajax组件没有render属性。

于 2018-05-04T15:42:04.057 回答