你的struts.xml 文件有没有继承 struts-default 

解决方案 »

  1.   

    继承了,程序运行良好,只是出现404错误时,跳转到login.jsp时,会出现这个错误。
    找了很多方法,都没有用。
      

  2.   


    比如说你当前的访问的页面路径是a目录下面的,然后你想跳到b目录下的login页面,可以直接重定向么?那样跳转的还是a目录下的login,结果就报404,我以前也遇到这种问题。
    应该先上一级目录或者在xml重新配置一下。
      

  3.   

    可能是我没有说清楚?
    我是想当程序出现错误时,自动跳转到登陆页面。这个错误可能是404,500这种错误,也可能是session过期,或者要访问的action出错等等。总之,只要出错,就跳转到登陆页面。
      

  4.   

    你这是求实现的方法是么?
    500错误,其它层抛出异常,在action层捕获异常,然后try catch里面重定向跳转。
    404错误,struts.xml配置一个默认跳转的配置,无对应的也是重定向跳转。
    至于代码,我这用的开发环境是Spring Tool Suite,自己的笔记本没带,晚上给你发。
      

  5.   

    首先看看错误处理配置这里有没有生效,如果有效的话,出现404错误,那可能是/login.jsp这里的路径有错误。500错误的话是你页面出现错误。总之,你先检查获取错误配置有没有生效。
      

  6.   


    生效了的。我现在设置成这样就没问题,因为error.jsp没有使用struts标签,所以没有问题。 <!-- 配置错误处理 -->
    <error-page>
    <error-code>404</error-code>
    <location>/error.jsp</location>
    </error-page>
    <error-page>
    <error-code>500</error-code>
    <location>/error.jsp</location>
    </error-page>
      

  7.   

    百度搜索 struts default-action-ref 
      

  8.   

    你的login页面的errorPage=true 设置了没有???
      

  9.   

    刚才会说错了 应该是这样
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8" isThreadSafe="true" %>
      

  10.   

    <package name="default" extends="struts-default">
    <default-action-ref name="notFound" />
    <action name="notFound">
    <result>/error/404.jsp</result>
    </action>
    </package>
      

  11.   

    如果错误页面不用struts2的标签是没问题。用了就是这个错。我也在找方法解决
      

  12.   

    VinCiOo,您这个问题解决了嘛?我也遇到了这个问题,action跳转回来的页面中这样引用了“<jsp:include page="../common/head.jsp"></jsp:include>”的页面head.jsp里面使用了struts标签抛的错,使用的 2.3.1.2版本的struts,web.xml的过滤器配置是
    <!-- struts2 过滤器 -->
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>
    <!--关键是这个过滤器,2.2.6版本后才可用的;而我用org.apache.struts2.dispatcher.FilterDispatcher过滤器则不会出现这种问题--> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
    </filter>
    <!-- struts2 mapping -->
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/struts/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.action</url-pattern>
    </filter-mapping>
    <!--网上说要加这段,但是我加了没用处,而且也不愿意这样配置,我不希望所有的访问都给struts过滤
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    -->
      

  13.   

    VinCiOo,您这个问题解决了嘛?我也遇到了这个问题,action跳转回来的页面中这样引用了“<jsp:include page="../common/head.jsp"></jsp:include>”的页面head.jsp里面使用了struts标签抛的错,使用的 2.3.1.2版本的struts,web.xml的过滤器配置是
    <!-- struts2 过滤器 -->
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>
    <!--关键是这个过滤器,2.2.6版本后才可用的;而我用org.apache.struts2.dispatcher.FilterDispatcher过滤器则不会出现这种问题--> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
    </filter>
    <!-- struts2 mapping -->
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/struts/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.action</url-pattern>
    </filter-mapping>
    <!--网上说要加这段,但是我加了没用处,而且也不愿意这样配置,我不希望所有的访问都给struts过滤
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    -->
      

  14.   

    鄙视下CSDN,这编辑器好难用啊,排版糟透了
      

  15.   

    你的struts2的配置,拦截jsp页面,出现你这个问题
      

  16.   

    那么跳到的错误页面不要加上struts标签,估计你想回到登录页,而登录页上又有一个用于显示错误信息的struts标签,我的做法是做两个登录页,样式完全一样,一个是没有struts标签的index.jsp,另一个是带struts标签的login.jsp,先从index.jsp登录,错误跳转到login.jsp显示错误信息,用户不知道跳转了,之后都从login.jsp登录.error-page设为index.jsp就行了