对commandButton操作的JSF外部重定向不起作用

时间:2016-05-16 17:42:46

标签: jsf redirect jsf-2

考虑两个Web应用程序--A和B都托管在不同的服务器上。在单击B中的链接时,向A发出HTTP请求,该请求将响应A的页面的URL以显示给用户。使用其代理,B点击URL,显示包含记录列表的A页面。此时,URL就像 - https://B/proxy/A/context-root-A/page1.faces?un=1234,一切正常,直到这里。

现在我需要的是当在这个JSF page1中单击一个按钮时,必须显示第2页显示记录详细信息。但是,当单击该按钮时,请求的URL类似于https://B/context-root-A/page2.faces?un=1234并导致HTTP 404 。

原始代码在commandButton的操作中从A的上下文返回了page2的路径。在看了一些例子后,我想到了使用外部上下文重定向。但是这种重定向没有任何影响,最终得到相同的HTTP 404。

代码段是:

<h:form name="myForm">
     <h:commandButton value="view" action="{myBean.view}"/>
</h:form>

public void view(){
   FacesContext.getCurrentInstance().getExternalContext()
       .redirect("https://B/proxy/A/context-root-A/page2.faces?un=1234");
}

我还将记录的id作为请求参数附加到重定向URL。在这里忽略它以保持问题简单。还尝试了face-redirect=true,但仍无效。

我试图最好地解释我面临这个问题的环境。任何有关我所做错事的帮助都将受到高度赞赏。

0 个答案:

没有答案