2011-11-21 49 views
0

我正在尝试学习Apache Struts框架,并且已经编写了一个小型应用程序,用于注册类,但每当我尝试加载我的应用程序时,它只是吐出以下异常:java.net.MalformedURLException:无法检索ActionForward

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

我的index.jsp页面看起来像:

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

我struts-config.xml中的相关部分:

<form-beans> 
     <form-bean name="HelloWorldForm" type="com.Form.HelloWorldAction" /> 
</form-beans> 

<global-forwards> 
</global-forwards> 

<action-mappings> 
    <action name="HelloWorldForm" path="/helloWorld" type="com.Form.HelloWorldAction"> 
     <forward name="success" path="/Success.jsp" /> 
    </action> 
</action-mappings> 

HelloWorldAction页的样子:

public ActionForward execute(ActionMapping mapping, ActionForm form, 
         HttpServletRequest request, HttpServletResponse response) 
         throws Exception { 

    HelloWorldForm Hw = (HelloWorldForm) form; 
    Hw.setMessage("Hello World"); 

    return mapping.findForward("success"); 

成功页的样子:

<bean:write name="HelloWorldForm" property="message"/ > 

回答

0
<logic:redirect forward="HalloWorld"/ > 

首先,没有前置命名HalloWorld,只有helloWorld

其次,这个bean被命名为HalloWorldForm并且动作使用了HelloWorldForm - 没有问题,但是一旦第一个问题得到解决,它就会出现。

+0

嗨Dooo NoooN,我做了你做的更正,但我仍然得到相同的错误。 – Rupali

0
<global-forwards> 
     <forward name="helloWorld" path="/helloWorld.do"/> 

</global-forwards>