2014-02-06 49 views
0

選項我有兩個面板: 渲染<P:outputPanel>基於選擇的:在JSF

<p:outputPanel id="contentDisplay"> 
<p:outputPanel id="dashboarddisplay"> 

我需要或者高於通過選擇<h:selectOneRadio>按鈕<p:outputPanel>之一來呈現。

下面是我對<h:selectOneRadio>代碼:

<h:selectOneRadio id="choice" style="width:100%" 
        value="#{Bean.selectedChoice}"> 
    <f:selectItem id="item1" itemLabel="Hours Allocation" itemValue="1" /> 
    <f:selectItem id="item2" itemLabel="DashBoard" itemValue="2" /> 
    <p:ajax render="contentDisplay dashboarddisplay " execute="@this" 
      update="contentDisplay dashboarddisplay" listener="#{cmpmBean.onChoiceSelect}" />  
</h:selectOneRadio> 


我如何<f:selectItem>的選擇的值傳遞給後臺bean?

儘管ajax事件被觸發,我無法獲得後臺bean中變量「onChoiceSelect」的值。

任何建議將有助於解決此問題。

回答

1

這是我會怎麼做:

<p:outputPanel id="content"> 
    <p:outputPanel id="contentDisplay" rendered="#{Bean.selectedChoice eq 1}"> 
     ...A 
    </p:outputPanel> 
    <p:outputPanel id="dashboarddisplay" rendered="#{Bean.selectedChoice eq 2}"> 
     ...B 
    </p:outputPanel> 
</p:outputPanel> 
<h:form> 
    <h:selectOneRadio id="choice" style="width:100%" 
         value="#{Bean.selectedChoice}"> 
     <f:selectItem itemLabel="Hours Allocation" itemValue="1" /> 
     <f:selectItem itemLabel="DashBoard" itemValue="2" /> 
     <p:ajax update=":content" />  
    </h:selectOneRadio> 
</h:form> 
0

我嘗試下面的代碼和它的工作,我可以能夠得到的支持bean的價值。

<h:form> 
       <h:panelGrid columns="3" cellpadding="2" style="width: 100%" 
        id="sysinfopan1"> 
        <h:panelGroup> 

          <h:selectOneRadio id="choice" style="width:100%" 
           value="#{cmpmBean.selectedChoice}"> 
           <f:selectItem itemLabel="Hours Allocation" itemValue="1" /> 
           <f:selectItem itemLabel="CMPM DashBoard" itemValue="2" /> 
         <p:ajax render="contentDisplay dashboarddisplay" update=":contentDisplay :dashboarddisplay" execute="@this" listener="#{cmpmBean.onChoiceSelect}" /> 
          </h:selectOneRadio> 

        </h:panelGroup> 
       </h:panelGrid> </h:form> 

通過選擇任一選項,輸出面板都可以正確顯示。