Upgrade to PrimeFaces 3.2. Then you'll be able to navigate by ajax. The update/render of @all
was not supported before that version. If you can't upgrade, then you need to bring in the following 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);
}
};
Put this in a .js
file which you import in the very end of the <h:head>
tag. E.g.
<h:head>
...
<h:outputScript name="js/primeFacesAll.js" />
</h:head>