使用p:对话框导航到具有模态属性的另一个页面

时间:2017-01-16 18:30:53

标签: jsf primefaces

所以我有一个对话框,执行以下操作:     进入该页面后,检查渲染条件是否为真,如果是则显示对话框。该对话框有一个链接到第2页的按钮。因此,当按下Go To Page 2按钮时,对话框将消失,网站将重定向到第2页。

<h:panelGroup id="panel1" layout="block">
    <h:form id="Form">                
        <p:dialog responsive="true" header="Empty"
                  widgetVar="Empty" id="Empty"
                        rendered="#{Bean.numbers eq null or fn:length(Bean.numbers) eq 0}"
                        visible="#{Bean.numbers eq null or fn:length(Bean.numbers) eq 0}"
                        appendToBody="true">
             <p:commandLink id="goToPage2"
                           process="@this"
                           update="@this,:panel1"
                           value="Go To Page 2"
                           type="button"
                           onstart="PF('statusDialog').show();"
                           oncomplete="PF('statusDialog').hide()"           
                           action="#{Bean.goToPage2 }" />

         </p:dialog>
     </:form>
</:panelGroup>

以上代码效果很好。但是在我添加modal =“true”属性并执行相同操作后,它在渲染后在第2页的顶部显示了一个灰色模态块。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Primefaces将灰色模态附加到页面正文,这就是为什么当您部分更新页面时它不会褪色的原因。尝试在var myApp=angular.module('CreateApp', []); myApp.controller('mainController', function($scope, $http) { $http.get('form.json').success(function(response) { $scope.result = response; console.log($scope.fields); }); $http.get('form.json').success(function(response) { $scope.result = response; var fields = response.fields; $scope.richestClub = fields.answer.options[0].value; console.log($scope.richestClub); console.log($scope.fields); }); });

oncomplete事件中隐藏对话框
p:commandLink