Отображение компонентов JSF для нескольких выбранных элементов с использованием визуализации - PullRequest
0 голосов
/ 01 мая 2018
<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'}">

1 Ответ

0 голосов
/ 04 мая 2018

Полагаю, вы ищете критерии, по которым ui:fragment будет отображаться только , если выбрана опция 'PROBE' .

В этом случае вам необходимо определить исключительные условия (И) и не включающие условия (ИЛИ), как в ваших неудачных попытках.

Так, например, вместо

<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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...