Apache Struts:无法检索ActionForward

时间:2010-06-04 00:42:40

标签: apache jsp struts

我正在尝试学习Apache Struts框架,我编写了一个小型应用程序来进行类注册,但每当我尝试加载我的应用程序时,它只是吐出以下异常:

javax.servlet.ServletException: 
  org.apache.jasper.JasperException: 
    javax.servlet.ServletException: 
      javax.servlet.jsp.JspException: Cannot create rewrite URL: 
          java.net.MalformedURLException: Cannot retrieve ActionForward named adminLogin

我的index.jsp页面如下:

<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<logic:redirect forward="showLogin"/>

struts-config.xml的相关部分:

<global-forwards>
    <forward name="showLogin" path="/showLogin.do" />
</global-forwards>
<action-mappings>
    <action path="/showLogin" forward="/pages/choose.jsp" />
    <action path="/adminLogin" forward="/pages/adminLogin.jsp" />
</action-mappings>

最后是choose.jsp文件:

<%@ page import="javax.sql.*"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

<h1>Who are you?</h1>
<ul>
    <li><html:link forward="adminLogin">Administrator</html:link></li>
    <li><html:link forward="instructorLogin">Instructor</html:link></li>
    <li><html:link forward="studentLogin">Student</html:link></li>
</ul>

1 个答案:

答案 0 :(得分:2)

我不做Struts,所以不要把它钉在上面,但错误似乎表明它在配置中的某个地方期待<forward name="adminLogin" />。你可能希望其他两个前锋也一样。