使用<p:selectbooleanbutton> </p:selectbooleanbutton>显示/隐藏JSF2表单

时间:2012-09-29 10:28:41

标签: jsf-2 primefaces

我需要在我的JSF 2-PrimeFaces应用程序中显示和隐藏组件,请在下面找到我的代码:

 <p:outputLabel for="online_offer" value="Online offer#{msg._question_mark}" styleClass="font-size-1em font-weight-bold input-panel-main" />                                                                                                                                  
  <p:panel>
     <h:panelGrid columns="1">
        <p:selectBooleanButton id="online_offer" value="#{QckPstBen.offer.isExpired}" onLabel="Yes" offLabel="No" onIcon="ui-icon-check" offIcon="ui-icon-close" >  
         <f:ajax event="click" render="@form" />
        </p:selectBooleanButton>
      </h:panelGrid>                                                                
   </p:panel>
    <h:outputLabel value="&nbsp;" />
 <h:panelGroup rendered="#{QckPstBen.offer.isExpired}">
      <p:outputLabel for="website" value="Website/link to the offer#{msg._colon}" styleClass="font-size-1em font-weight-bold input-panel-main" />                                                                                                                                  
  <p:panel>
   <h:panelGrid columns="1">
          <p:inputText id="website" required="true" size="38" />
           <p:watermark for="website" value="www.discountbox.in" />
   </h:panelGrid>                                                                
  </p:panel>                                                                                                                                    
</h:panelGroup>

但它不起作用,任何线索

3 个答案:

答案 0 :(得分:3)

PrimeFaces组件不支持<f:ajax>。请改用<p:ajax>

<p:selectBooleanButton ...>
    <p:ajax update="@form" />
</p:selectBooleanButton>

请注意,我省略了event属性,此处默认为click

答案 1 :(得分:0)

代替<h:panelGroup>的孩子,或者在其周围放置一些容器,例如p:panel。

答案 2 :(得分:0)

这可能是OBE,但是......

在引用页面bean时,我不记得在#{}上下文中,对于类名和页面bean的方法/属性使用小写的惯例(即不是#{QckPstBen.offer.isExpired}但是# {qckPstBen.offer.isExpired}?

相关问题