2013-08-06 2 views
1

Я начинаю в JSF, у меня проблема с selectonemenu item.Когда я выбираю элемент, например «FirstLabel», должна отображаться выходная панель. Однако меню select не обновляет мой выбор. Я использую библиотеки fontfaces 3.1. Как я могу решить эту проблему. Спасибо за помощь.JSF selectonemenu не обновляет

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

ответ

1

Если компонент JSF имеет rendered="false" набор, то это не redered (объект компонент не присутствует в дереве объектов) и не может быть обновлена ​​с помощью <p:ajax update="someId"/> или <f:ajax render="someId"/>. Что вам нужно сделать, это обернуть эти две панели на внешней панели и обновить ее. Что-то вроде этого:

<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 для подобной задачи.

+0

Благодарим за помощь. Я попробовал обернуть с вашим предложением и Deniz

+0

Я проверил код, и он работает в моем случае - правильно ли установлено значение компонента? – dratewka

+0

ın bean, есть строка str, и у нее есть сеттер и getter.My друг кодировал это с помощью библиотеки fontfaces 2.2.1, также он работает. Эта проблема возникла из библиотеки? Я использовал правые части 3.1. – Deniz

Смежные вопросы