考虑使用浏览器的地址栏打开的JSF页面,其网址为scheme://firstserver.group.com/proxy/secondserver.group.com/AppContext/pages/page1.faces
在同一页面上执行的任何操作都能正常工作,但是当对page2.faces进行导航时,URL会被修改为scheme://firstserver.group.com/AppContext/pages/page1.faces
并生成HTTP 404
。
示例代码:
<h:form>
<h:commandButton id="viewTransaction" action="#{bean.viewTransactionAction}" value="View Transaction"></h:commandButton>
</h:form>
String viewTransactionAction(){
//do something
return "page2"
}
<navigation-case>
<from-outcome>page2</from-outcome>
<to-view-id>/pages/page2.xhtml</to-view-id>
</navigation-case>
当我在地址栏中手动输入网址scheme://firstserver.group.com/proxy/secondserver.group.com/AppContext/pages/page2.faces
时,我已成功导航。
我尝试使用bean方法使用外部上下文执行重定向,但这也导致了HTTP 404
。
如何在不丢失带前缀的网址的情况下导航到第2页?