<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config>
<form-beans id="hello" type="xxx.yyy.StudentActionForm"></form-beans>
  <action-mappings>
   <action         path="/login"
                        name="hello"
   type="xxx.yyy.StrutsAction"
   scope="request"
   >
   <forward name="success" path="/login_success.jsp"></forward>
  
   </action>
  </action-mappings>
</struts-config>在使用ActionForm的时候配置错误
我看视频里面form-beans 里面的是用的name action 里面也写的name   但是我在form-beans写name直接运行不了直接出现配置错误package xxx.yyy;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;public class StrutsAction extends Action { public ActionForward execute(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {

StudentActionForm saf = (StudentActionForm)arg1;
arg2.setAttribute("test", saf.getName());
return arg0.findForward("success");
}}
<%@page contentType="text/html;charset=gb2312"%>
<html>
<head>
</head>
<body>
成功<%=request.getAttribute("test") %>
</body>
</html>错误代码
javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause java.lang.NullPointerException
xxx.yyy.StrutsAction.execute(StrutsAction.java:18)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)大家看看我的配置信息 应该怎么写  我用的Eclipse直接生成出来的struts框架 MyEclipse 5.5版本的

解决方案 »

  1.   

    俺们都是
    <form-beans>
            <form-bean name="xxxxx" type="xxxx">
                          .
                          .
                          .
                          .
    </form-beans>
      

  2.   

    <form-beans id="hello" type="xxx.yyy.StudentActionForm"></form-beans>
    这部分我一般是这样写的
    <form-bean name="userForm" type="com.newshieldoa.struts.form.UserForm" />
      

  3.   

    <form-beans id="hello" type="xxx.yyy.StudentActionForm"></form-beans>
    id和type应该写到<form-bean/>
      

  4.   


     <form-beans id="hello" type="xxx.yyy.StudentActionForm"></form-beans>
    是不是换成这样?<form-beans>
    <form-bean id="id" type="xxxx.From"></form-bean>
    </form-beans>
      

  5.   

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config>
      <form-beans> 
        <form-bean name="loginForm" type="xxxx.LoginForm"> 
      </form-beans>
      <action-mappings>
          <action path="/login" name="loginForm"
                  type="xxx.yyy.StrutsAction"
                  scope="request"
                  >
          <forward name="success" path="/login_success.jsp"/>
          </action>
      </action-mappings>
    </struts-config>