【问题标题】:JSF selectonemenu does not updateJSF selectonemenu 不更新
【发布时间】:2013-08-07 02:34:44
【问题描述】:

我是 JSF 的初学者,我对 selectonemenu 项目有问题。当我选择一个项目时,例如“FirstLabel”,应该显示输出面板。但是,selectone 菜单不会更新我的选择。我使用 primefaces 3.1 库.我该如何解决这个问题。感谢您的帮助。

            <p:selectOneMenu value="#{denemeView.str}" effect="fold" editable="true"  >  
                <f:selectItem itemLabel="Please choose!." itemValue="" /> 
                <f:selectItem itemLabel="FirstLabel" itemValue="1" /> 

                <f:selectItem itemLabel="SecondLabel" itemValue="2" /> 

                <p:ajax   process="@this"  update=":Form2:panel1"/>
                <p:ajax process="@this" update=":Form2:panel2"/>
            </p:selectOneMenu> 


        </p:outputPanel> 


        <p:outputPanel id="panel1" rendered="#{denemeView.str=='1'}">

            <h:outputText value="Output: * " />
            <p:inputText id="out" value="#{denemeView.islem}" />



        </p:outputPanel>

        <p:outputPanel id="panel2" rendered="#{denemeView.str=='2'}">

            <h:outputText value="True choice! " />

        </p:outputPanel>

【问题讨论】:

    标签: jsf primefaces selectonemenu


    【解决方案1】:

    如果一个 JSF 组件设置了rendered="false",那么它不会被重新渲染(组件对象不在对象树中)并且不能使用&lt;p:ajax update="someId"/&gt; 或&lt;f:ajax render="someId"/&gt; 更新。您需要做的是将这两个面板包装在一个外部面板中并更新该面板。像这样的:

    <p:ajax   process="@this"  update="outerPanel"/>
    ...
    <p:outputPanel id="outerPanel">
     <p:outputPanel id="panel1" rendered="#{denemeView.str=='1'}">
            <h:outputText value="Output: * " />
            <p:inputText id="out" value="#{denemeView.islem}" />
     </p:outputPanel>
    
     <p:outputPanel id="panel2" rendered="#{denemeView.str=='2'}">
            <h:outputText value="True choice! " />
     </p:outputPanel>
    </p:outputPanel>
    

    请参阅here 了解类似问题。

    【讨论】:

    • 感谢您的帮助。我尝试使用您的建议和
    • 我检查了代码,它适用于我的情况 - bean 值设置正确吗?
    • ın bean,有字符串 str,它有 setter 和 getter。我的朋友用 primefaces 2.2.1 库这样编码,它也有效。这个问题是由库引起的吗??我使用了 primefaces 3.1。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多