我正在使用Primefaces 3.5开发一个Web应用程序。我需要将请求重定向/转发到另一个xhtml页面而不更改地址栏中的URL地址,因为主站点地址将在JBoss服务器中配置为可从外部访问。
这是我的index.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<f:view>
<ui:insert name="metadata"/>
<f:event type="preRenderView" listener="#{forwardBean.forward}" />
<h:body></h:body>
</f:view>
</html>
这是我的ForwardBean.java:
(...)
@ManagedBean
@ApplicationScoped
public class ForwardBean {
public void forward() throws IOException {
FacesContext.getCurrentInstance().getExternalContext().redirect("main/SearchForm.xhtml");
重定向工作正常,但更改了地址栏中的网址:
http://.../main/SearchForm
我可以重定向而不会在地址栏中看到“main”吗?我不知道PrettyFaces或JSF 2.0的任何新功能是否有帮助,我是这项技术的新手。
提前致谢!