我正面临一个问题,我无法解决:(
通过选择selectOneRadio中的项目,我想设置一个特定的变量:
<h:form id="form">
<p:selectOneRadio id="options" value="#{rechercheBean.choose}">
<f:selectItem itemLabel="Critere 1" itemValue="c1" />
<f:selectItem itemLabel="Critere 2" itemValue="c2" />
<p:ajax update="critere" />
</p:selectOneRadio>
<h:panelGrid columns="1" id="critere">
<c:choose>
<c:when test="#{monBean.choix eq 'c1'}">
<h:outputText value="Critere 1 :" />
<p:inputText id="cr1" value="#{rechercheBean.critere1}" />
</c:when>
<c:when test="#{monBean.choix eq 'c2'}">
<h:outputText value="Critere 2 :" />
<p:inputText id="cr2" value="#{rechercheBean.critere2}" />
</c:when>
</c:choose>
</h:panelGrid>
<h:commandButton value="Add critere" actionListener="#{rechercheBean.add}"/>
</h:form>
使用managedBean SessionScope,此代码可以工作,但使用ViewScope,它不起作用。
在ViewScope中,当我点击按钮时,特定变量为null,但如果我删除该组件,则设置特定变量!
我需要在inputext之间切换:(
我该如何解决我的问题?
很多!
答案 0 :(得分:0)
替换
<c:choose>
<c:when test="#{monBean.choix eq 'c1'}">
带
<panelGroup rendered="#{monBean.choix eq 'c1'}">
(替换<c:when
}
如果您使用的是Primefaces,则可以将<h:commandButton
替换为<p:commandButton
,或者只将f:ajax
添加到当前的<h:commandButton