我的一个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)这到底是什么原因?
<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)这到底是什么原因?
如果还有问题,就是你配置文件没有更新,重启一下服务器吧
<%@page pageEncoding="UTF-8"%>
<%@taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%><html>
<body>
<logic:forward name="welcome"/>
</body>
</html>
很简单的代码!