我正在尝试实现“基本对话框框架”,但在实现中没有用...
它在控制台中没有显示任何错误...

xhtml页面---> program.xhtml

 <ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui" template="/pages/BaseTemplate.xhtml">
 <ui:define name="body">
 <h:form id="form">
     <p:commandButton value="ABCD" actionListener="#{pc_Program.goToCurrentStage}"/>
 </h:form>
 </ui:define>
 </ui:composition>

托管bean-> Program.java
 @ManagedBean(name = "pc_Program")
 @SessionScoped
 public class Program{

      public void goToCurrentStage(){
     Map<String,Object> options = new HashMap<String, Object>();
        options.put("modal", true);
        options.put("draggable", false);
        options.put("resizable", false);
        options.put("contentHeight", 320);
     RequestContext.getCurrentInstance().openDialog("intimationDepositHome", options, null);
      }
 }

当我单击program.xhtml中的commandbutton时,我需要打开intimationDeposit.xhtml对话框
 <ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui" template="/pages/BaseTemplate.xhtml">
    <ui:define name="body">
    <h:form id="form">
 <p:dataTable id="serDetails" var="bean" value="#{pc_intimationDeposit.pendingReps}" >
   <p:column headerText="Unique Id" style="width: 15px">
   <h:outputText value="#{bean.uniqueId}" styleClass="box text"/>
   </p:column>
 </p:dataTable>
 </ui:define>
 </ui:composition>

托管Bean ---> IntimationDeposit.java
 @ManagedBean(name = "pc_intimationDeposit")
 @SessionScoped
 public class IntimationDeposit{
 public List<PendingRep> pendingReps = new ArrayList<PendingRep>();
 //setter/getters and some logic to get PendingRep List
 }

在我的faces-config.xml中,我添加了...
 <application>
    <action-listener>org.primefaces.application.DialogActionListener</action-listener>
    <navigation-handler>org.primefaces.application.DialogNavigationHandler</navigation-handler>
    <view-handler>org.primefaces.application.DialogViewHandler</view-handler>
</application>

导航箱
 <navigation-rule>
    <from-view-id>*</from-view-id>
    <navigation-case>
        <from-outcome>intimationDepositHome</from-outcome>
        <to-view-id>/pages/intimationDeposit.xhtml</to-view-id>
    </navigation-case>
</navigation-rule>

但没有打开任何对话框...也没有收到任何错误消息...

最佳答案

您可能需要使用注释。我有同样的问题,我在init方法中使用批注@postconstruct来解决它,然后// setter / getters和一些逻辑来获取所需的PendingRep列表。

09-04 09:19
查看更多