0

Primefacesウィザード内のアコーディオン内にコマンドリンクがあり、それらはすべて同じフォームにあります-ネストされたフォームはありませんが、コマンドリンクのアクションは実行されません。ここに私のページがあります:

    <ui:define name="content">
       <h:form id="createSubject"> 
        <p:wizard flowListener="#{createWizard.flowListener}" widgetVar="wiz" showNavBar="false">  
        <p:tab id="personal" title="#{createWizard.tab1Title}">  
          ....
        </p:tab>
        <p:tab id="conclusion" title="#{createWizard.tab2Title}">  
          <p:panel header="#{createWizard.panel2Title}">  
            <p:accordionPanel value="#{createWizard.similarSubjects}" var="subject">  
                <p:tab title="#{subject.VPrenom} #{subject.VNom}"> 
                   <h:panelGrid columns="2" cellpadding="5">  
                     <h:outputText value="#{createWizard.firstName}: " />  
                     <h:outputText value="#{subject.VPrenom}" />  
                     <h:commandLink  value="#{createWizard.completeSheet}" actionListener="#{createWizard.completeSubjectSheet(subject.VIdPool)}"/>
                    </h:panelGrid>  
                 </p:tab>  
            </p:accordionPanel>  
         </p:panel>  
         </p:tab> 
         </p:wizard>
         <p:commandButton value="#{createWizard.nextButtonTitle}" onclick="wiz.next()" style="float:right;"/>
         </h:form>
        </ui:define>

そして私のバッキングビーンメソッド:

    public void completeSubjectSheet(String subId){
    mk.sdc.helpers.Link link = mk.sdc.helpers.Link.getLink();
    try {
      FacesContext.getCurrentInstance().getExternalContext().redirect(link.mkLink("/POOL/view.jsp?V_ID_POOL="+subId));
    } catch (IOException ex) {
        Logger.getLogger(CreateWizard.class.getName()).log(Level.SEVERE, null, ex);
    }
}

何か案は?ありがとう。

4

1 に答える 1

1

actionListener は引数を取ることができないため、commandLink には action 属性を使用する必要があります。

編集

h:linkそのためにまたはを使用できますh:outputLinkか?

<h:link outcome="/POOL/view.jsp?V_ID_POOL=#{subject.id}" />

于 2012-05-16T12:06:04.413 に答える