对话框架不起作用

时间:2013-04-30 14:02:15

标签: jsf-2 primefaces

我正在尝试应用基本示例在对话框中呈现页面,就像在展示中一样 http://www.primefaces.org/showcase/ui/dialogFrameworkBasic.jsf

  • 我的网页位于 webapp / pages / general
  • 我在 Mojarra-2.1.20
  • 上运行 PrimeFaces-4.0-SNAPSHOT
  • 我有两页:     1- home.xhtml     2- viewreport.xhtml

1- home.xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ice="http://www.icesoft.com/icefaces/component"
    xmlns:p="http://primefaces.org/ui"
    xmlns:pretty="http://ocpsoft.com/prettyfaces"
    xmlns:sec="http://www.springframework.org/security/tags"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head>


    <title>Welcome</title>
    <h:outputStylesheet library="css" name="style.css" />
</h:head>

<h:body dir="rtl">

    <h:form>
        <p:commandButton value="View" icon="ui-icon-extlink"
            action="dialog:viewreport" />
    </h:form>

</h:body>

</html>

2- viewreport.xhtml:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">

<h:head>

</h:head>

<h:body>
    <h:panelGroup id="report_details_new" layout="block" style="width:500px;height:500px;">

      HELLO WORLD


    </h:panelGroup>
   </h:body>

   </html>

单击按钮时,没有任何反应,我在eclipse控制台或浏览器控制台中都没有出现任何错误。

请告知对话框架无效的原因。

1 个答案:

答案 0 :(得分:8)

通过将以下配置添加到 faces-config.xml

来解决
    <action-listener>org.primefaces.application.DialogActionListener</action-listener>
    <navigation-handler>org.primefaces.application.DialogNavigationHandler</navigation-handler>
    <view-handler>org.primefaces.application.DialogViewHandler</view-handler>

在IE9,Chrome,Firefox上测试 primefaces 4.0-SNAPSHOT