0

我在我的网络项目中使用 JSF 2.0。但就我而言,导航无法正常工作。我认为这个问题是由于文件层次结构的变化而引起的,因为操作方法工作正常。我附上快照以了解文件的层次结构。

在此处输入图像描述

如果有人可以帮助克服这一点,我将非常感激。

4

2 回答 2

3

您必须添加ajax="false"primefaces commandButtons 才能执行导航或使用简单的<h:commandButton...

如果你想使用 primefaces ajax 按钮,那么你应该起诉重定向,

像这样

 <p:commandButton action="home?faces-redirect=true" value="Redirect to home"/>

还可以在这里查看类似的问题:

PrimeFaces commandButton 无法导航或更新

于 2012-05-16T06:18:24.563 回答
1

升级到 PrimeFaces 3.2。然后你就可以通过ajax导航了。@all在该版本之前不支持更新/渲染。如果无法升级,则需要引入以下 JavaScript hack:

var originalPrimeFacesAjaxResponseFunction = PrimeFaces.ajax.AjaxResponse;
PrimeFaces.ajax.AjaxResponse = function(responseXML) {
    var newViewRoot = $(responseXML.documentElement).find("update[id='javax.faces.ViewRoot']").text();

    if (newViewRoot) {
        document.open();
        document.write(newViewRoot);
        document.close();
    }
    else {
        originalPrimeFacesAjaxResponseFunction.apply(this, arguments);
    }
};

将其放入您在标签.js末尾导入的文件中。<h:head>例如

<h:head>
    ...
    <h:outputScript name="js/primeFacesAll.js" />
</h:head>
于 2012-05-16T12:08:21.563 回答