0

我面临一个问题,我无法解决:(

通过在 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 中,当我单击按钮时,特定变量为空,但如果我删除组件,则设置特定变量!

我需要用来在 inputext 之间切换 :(

我该如何解决我的问题?

发送很多!

4

1 回答 1

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

于 2012-08-07T06:49:28.873 回答