我的一个Struts程序里有一个主页:index.jsp在地址栏敲入URL以后index.jsp进行转向struts-config.xml文件里的配置如下:
<global-forwards>
     <forward name="welcome" path="/gradeList.do?act=list"/>
</global-forwards>
<action-mappings> 
    <action path="/gradeList" name="GradeForm" type="java.GradeAction">
           <forward name="list" path="/gradeList.jsp"/>
        </action>
        <action path="/grade" name="GradeForm" validate="true" type="java.GradeAction">
           <forward name="update" path="/gradeList.jsp"/>
           <forward name="add" path="/gradeList.jsp"/>
           <forward name="delete" path="/gradeList.jsp"/>
           <forward name="reList" path="/gradeList.do?act=list"/>
           <forward name="addSaveFailure" path="/grade.do?act=add" redirect="false"/>
           <forward name="updateSaveFailure" path="/grade.do?act=update" redirect="false"/>
           <forward name="deleteFailure" path="/gradeList.do?act=list" redirect="false"/>
     </action>        
</action-mappings>
但登陆系统的时候去出现如下错误:
javax.servlet.ServletException: Cannot find global ActionForward for name welcome
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:85)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.jsp.JspException: Cannot find global ActionForward for name welcome
org.apache.struts.taglib.logic.ForwardTag.doEndTag(ForwardTag.java:92)
org.apache.jsp.index_jsp._jspx_meth_logic_forward_0(org.apache.jsp.index_jsp:102)
org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:70)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)这到底是什么原因?

解决方案 »

  1.   

    在action里return mapping.findForward("welcome");
    如果还有问题,就是你配置文件没有更新,重启一下服务器吧
      

  2.   

    不是,我连首页也登陆不上。这个<global-forwards>是首页登陆时候转向用的。就这一个,没有别的。
      

  3.   

    把你登陆的那部分代码贴出来,就是和welcome有关系的那部分!
      

  4.   

    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%><html>
        
        <body>
            <logic:forward name="welcome"/>
    </body>
    </html>
    很简单的代码!