Jsf 2 使用

Jsf 2 使用,jsf-2,primefaces,Jsf 2,Primefaces,下一行应该保存一个新项目并重定向到另一个页面。到目前为止,它保存正确,但没有重定向。没有错误或警告 <p:commandButton id="savebutton" ajax="false" value="#{msg['addCategory.save']}" actionListener="#{addCategoryController.doSave()}" /> 正如我所说,第一行执行正确,第二行似乎什么都不做。你知道我做错了什么吗?你可以用两种方法来做: 导航: 调用一个动作

下一行应该保存一个新项目并重定向到另一个页面。到目前为止,它保存正确,但没有重定向。没有错误或警告

<p:commandButton id="savebutton" ajax="false" value="#{msg['addCategory.save']}" actionListener="#{addCategoryController.doSave()}" />

正如我所说,第一行执行正确,第二行似乎什么都不做。你知道我做错了什么吗?

你可以用两种方法来做:

导航: 调用一个动作,commandButton组件设置为ajaxfalse,bean方法返回一个字符串,正如您已经得到的一样

xhtml页面:


您可以通过两种方式完成:

导航: 调用一个动作,commandButton组件设置为ajaxfalse,bean方法返回一个字符串,正如您已经得到的一样

xhtml页面:


您最好使用action而不是actionListener来执行导航。更多信息:你的“onclick”在哪里?请更改主题您最好使用action而不是actionListener来执行导航。更多信息:你的“onclick”在哪里?请更改主题如果你看得更远,我的第一个jsp我以jsp为例,因为他可以使用xhtml或他想要的任何东西,我使用“action”调用bean方法,而不是像他那样使用“actionListener”。如果你看得更远,我的第一个jsp我以jsp为例,因为他可以使用xhtml或他想要的任何东西,我使用“action”而不是像他那样使用“actionListener”调用bean方法。
 public String doSave(){       
    categoryAddEvent.fire(categoryProducer.getSelectedCategory());
    return Pages.LIST_CATEGORIES;
}
<p:commandButton id="savebutton" ajax="false" value="#{msg['addCategory.save']}" action="#{addCategoryController.doSave()}" />
<p:commandButton id="savebutton" ajax="true" value="#{msg['addCategory.save']}" actionListener="#{addCategoryController.doSave()}" />
public void doSave(){       
    categoryAddEvent.fire(categoryProducer.getSelectedCategory());
    FacesContext.getCurrentInstance().getExternalContext().redirect(Pages.LIST_CATEGORIES);
}