【问题标题】:commandlink action doesn't fire inside p:accordion命令链接操作不会在 p:accordion 内触发
【发布时间】:2012-05-16 20:22:09
【问题描述】:

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

和我的支持 bean 方法:

    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);
    }
}

有什么想法吗?谢谢。

【问题讨论】:

  • wiz.next() 是否有可能返回 false ?
  • 问题是手风琴内部的 h:commandlink 而不是命令按钮。向导效果很好。

标签: jsf commandlink


【解决方案1】:

因为 actionListener 不能接受任何参数,所以你必须为 commandLink 使用 action 属性。

编辑

你能用h:linkh:outputLink吗?喜欢

&lt;h:link outcome="/POOL/view.jsp?V_ID_POOL=#{subject.id}" /&gt;

【讨论】:

  • 你有没有 标签用于调试?所以你可以看到所有的错误(如果有的话)
  • 我需要从支持 bean 重定向到带有参数的 jsp 页面,我可以使用什么来完成这项工作?请看我的backing bean方法...
  • @Questionmark: 现在是否调用了动作方法?应该在不同的问题中提出不同的问题。
  • 它没有被调用... 为什么我不能使用 commandLink 或 commandButton?我读了你关于为什么 commandLink/button 没有被触发的帖子......我检查了,我没有嵌套表单。我发布了我的 jsf 代码和我的支持 bean 方法......我做错了什么?
猜你喜欢
  • 1970-01-01
  • 2017-09-17
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 2012-07-04
  • 1970-01-01
  • 2014-12-25
相关资源
最近更新 更多