[英]Displaying JSF components for multiple selecitems using rendered
<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'}">
我想您正在尋找僅當選擇“ 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
屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.