【发布时间】: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