JSF中的faces-redirect = true

Dej*_*ell 8 jsf jsf-2

?faces-redirect=true在我的JSF2中使用,因为我想重定向用户,因此URL将被更改.

在JSF1.2中,我添加</redirect>了faces-config.

在JSF2中,我必须添加到我的URL return home?faces-redirect=true.

问题是我faces-redirect=2在URL中看到了我在使用时在JSF1.2中没有看到的内容</redirect>

如何在操作中使用faces-redirect而不在浏览器URL中显示?

我的罐子清单:

  • ANTLR-2.7.6.jar
  • aopalliance-1.0.jar
  • aspectjrt.jar
  • 大气COMPAT-tomcat的-0.5.jar
  • 大气中运行时,0.5.jar
  • 公地的BeanUtils-1.7.0.jar
  • 公地集合-3.2.jar
  • 公地DBCP-1.2.2.jar
  • 公共沼气池-2.0.jar
  • 公地文件上传-1.2.1.jar
  • 公地httpclient的-3.1.jar
  • 公地IO-1.4.jar
  • 共享记录-1.1.1.jar
  • commons-pool的-1.5.4.jar
  • dom4j.jar
  • 的Ehcache-1.2.4.jar
  • 冬眠,annotations.jar
  • 休眠-CGLIB的重新包装,2.1_3.jar
  • 休眠-公地annotations.jar
  • hibernate.jar文件
  • iText的 - 1.4.8.jar
  • javassist.jar
  • javax.persistence.jar
  • jhighlight-1.0.jar
  • JSF-api.jar文件
  • JSF-impl.jar中
  • JSTL-API-1.2.jar
  • JSTL-IMPL-1.2.jar
  • JTA-1.1.jar
  • log4j的-1.2.15.jar
  • 的mail.jar
  • MySQL的连接器的Java-5.1.0-bin.jar
  • org.springframework.aop-3.0.1.RELEASE-a.jar文件
  • org.springframework.asm-3.0.1.RELEASE-a.jar文件
  • org.springframework.aspects-3.0.1.RELEASE-a.jar文件
  • org.springframework.beans-3.0.1.RELEASE-a.jar文件
  • org.springframework.context-3.0.1.RELEASE-a.jar文件
  • org.springframework.context.support-3.0.1.RELEASE-a.jar文件
  • org.springframework.core-3.0.1.RELEASE-a.jar文件
  • org.springframework.expression-3.0.1.RELEASE-a.jar文件
  • org.springframework.instrument-3.0.1.RELEASE-a.jar文件
  • org.springframework.instrument.tomcat-3.0.1.RELEASE-a.jar文件
  • org.springframework.jdbc-3.0.1.RELEASE-a.jar文件
  • org.springframework.jms-3.0.1.RELEASE-a.jar文件
  • org.springframework.orm-3.0.1.RELEASE-a.jar文件
  • org.springframework.oxm-3.0.1.RELEASE-a.jar文件
  • org.springframework.test-3.0.1.RELEASE-a.jar文件
  • org.springframework.transaction-3.0.1.RELEASE-a.jar文件
  • org.springframework.web-3.0.1.RELEASE-a.jar文件
  • org.springframework.web.portlet-3.0.1.RELEASE-a.jar文件
  • org.springframework.web.servlet-3.0.1.RELEASE-a.jar文件
  • org.springframework.web.struts-3.0.1.RELEASE-a.jar文件
  • POI-3.2-FINAL.jar
  • primefaces-2.0.3-SNAPSHOT.jar
  • SLF4J-API 1.5.11.jar
  • SLF4J-log4j12-1.5.11.jar
  • 弹簧aop.jar

我的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>OnBoard</display-name>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <context-param>
        <description></description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:/applicationContext.xml
            classpath:/applicationContext-security.xml
            </param-value>
    </context-param>

    <context-param>
        <param-name>com.sun.faces.expressionFactory</param-name>
        <param-value>com.sun.el.ExpressionFactoryImpl</param-value>
    </context-param>

    <context-param>
        <param-name>com.sun.faces.forceLoadConfiguration</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>facelets.BUILD_BEFORE_RESTORE</param-name>
        <param-value>false</param-value>
    </context-param>


    <filter>
        <filter-name>Security Page Filter</filter-name>
        <filter-class>com.mycompany.servlet.SecurityFilter</filter-class>
    </filter>


    <filter-mapping>
        <filter-name>Security Page Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>


    <filter>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>Resource Servlet</servlet-name>
        <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>Resource Servlet</servlet-name>
        <url-pattern>/primefaces_resource/*</url-pattern>
    </servlet-mapping>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 16

这看起来很好.别的东西令人不安.也许春天?我不做春天,所以我不能说出任何事情.至少,它适用于Mojarra 2.0.2 + PrimeFaces 2.1 + Tomcat 6.0.24.

如果一定要钉这个问题下,考虑创建一个全新的web项目 jsf-api.jarjsf-impl.jar中的文件/WEB-INF/lib和两个简单的XHTML文件用<h:commandButton outcome="otherfile?faces-redirect=true" />.然后逐步添加库/组件/映射,直到获得与原始项目相同的设置.测试faces-redirect每一步的工作情况.跟踪您添加的内容,以便了解可能导致此问题的原因.


Pas*_*ent 7

这不是我与Mojarra(RI)所经历的事情.如果我在托管bean中返回以下内容:

return "somepage" + "?faces-redirect=true";
Run Code Online (Sandbox Code Playgroud)

JSF重定向到目标somepage视图,URL不包含?faces-redirect=true.

您使用的是什么实现?