0

我使用 mojarra 2.1.3、primefaces 3.2、netbeans 7.0.1。

当我们在这个 ViewScoped 托管 bean 方法中导航到结果 xhtml 时,结果 xhtml 是通过 HTTP GET 还是 HTTP POST 加载的?

    public String saveAll() {
    try {
        processPrincipalDistributorDealers();
        int res = saCompanyFacade.addCompany(sacompany, sacontacts, sacompanyproductallocations, saprincipaldistributordealers);
        if (res == 0) {
            return "/users/viewCompanies?faces-redirect=true";
        } else {
        .....

如果这是 POST,我会遇到浏览器后退按钮的问题,如果不是,那很好。

请帮忙。谢谢。

4

1 回答 1

1

返回正常结果时

return "outcome";

那么它不会改变当前的请求方法,在 JSFUICommand动作的情况下总是 POST。

返回重定向结果时

return "outcome?faces-redirect=true";

然后它基本上指示网络浏览器在结果上发送一个新的 GET 请求。您还会看到新 URL 反映在浏览器的地址栏中。这始终是 GET。

您还可以通过在 webbrowser 的开发人员工具集中检查 HTTP 流量来轻松跟踪它(在 Chrome/IE9/Firebug 中按 F12 并检查“Net”或“Network”部分以查看它)。

于 2012-07-21T12:44:41.120 回答