关于DynaActionForm

今天学了关于“Struts视图组件”一章,感觉最实用的不多,而且对于DynaActionForm也作了一些尝试,现说明如下:
1、JSP不用改变,例如,建立register.jsp,源代码如下:(不得了啦,这里上传HTML源代码,被解释成一个HTML页面效果了)

::系统注册::
用户名:
密 码:
确 认:
邮 箱:
  
 
2、不用写ActionForm子类文件
3、需要在struts-config.xml文件中加入如下actionForm映射:
    <form-bean name="registerActionForm(虚构的)" type="org.apache.struts.action.DynaActionForm">
    <form-property name="userName"         type="java.lang.String" />
    <form-property name="userPassword1" type="java.lang.String" />
    <form-property name="userPassword2" type="java.lang.String" />
    <form-property name="userEmail"         type="java.lang.String" />
  </form-bean>
 
4、添加Action子类RegisterAction,其代码如下:
package com.drc.action;
import com.drc.actionForm.*;
import org.apache.struts.action.*;
import javax.servlet.http.*;
public class RegisterAction extends Action {
    public ActionForward execute(ActionMapping actionMapping,
                                 ActionForm actionForm,
                                 HttpServletRequest httpServletRequest,
                                 HttpServletResponse httpServletResponse) {
        /**@todo: complete the business logic here, this is just a skeleton.*/
          DynaActionForm form = (DynaActionForm) actionForm;
          System.out.println("userName          = " + form.get("userName"));
          System.out.println("userPassword1  = " + form.get("userPassword1"));
          return actionMapping.findForward("registerSuccess");
    }
}
 
5、添加如下Action映射说明:
    <action input="/register.jsp"
                 name="registerActionForm"
                 path="/registerAction"
                 scope="request"
                 type="com.drc.action.RegisterAction"
                 validate="true">
        <forward name="registerSuccess"
                        path="/userRegisterSuccess.jsp"
                        redirect="false" />
    </action>
 
6、如果想在validator中执行验证,与一般ActionForm方式一样
posted @ 2004-12-16 13:15  wuxh  阅读(1182)  评论(0)    收藏  举报