关于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>
<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.*;
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");
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>
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方式一样

浙公网安备 33010602011771号