ActionForm DynamActionForm LazyValidatorForm DynamValidateForm 使用
来源:互联网 发布:sql server 编程 编辑:程序博客网 时间:2024/05/21 07:10
1) ActionForm
org.apache.struts.action.ActionForm
获取表单数据的public 属性
(2) DynamActionForm
org.apache.struts.action
为了解决ActionForm膨胀而引入的ActionForm,不需要创建多余的formBean ,只需要子配置文件里面配置属性就可以了
(3) LazyValidatorForm
org.apache.struts.validator
struts 中LazyValidatorForm特别适用于FormBean中并不包含POJO商业对象所有属性的情况,
因为通常项目里都属于这种情况,所以springside默认使用lazyValidatorForm.
注意的地方就是Action 的validate 属性要改为false validate="false".
LazyValidatorForm 既不要创建多余的FormBen 也不需要配置里配置属性,就可以拿到页面表单的数据
(4)DynamValidateForm
基于服务器的验证,对于一般的验证可以在页面用js 进行验证,如果是系统安全性要求高,则用服务器端验证。(
eg:
/**login.jsp*******************************************************************/
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<% String path = request.getContextPath(); %>
<title>login</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<!-- 普通ActionForm
<form name="form1" method="post" action="<%=path%>/login.do?method=login">
姓名:<input type="text" name="name" value="${userForm.name}"/> </br>
年龄:<input type="text" name="age" value="${userForm.age}"/> </br>
<input type="submit" value="普通ActionForm提交">
</form>-->
</hr>
<!-- 动态ActionForm 是为了防止普通ActionForm膨胀
<form name="form1" method="post" action="<%=path%>/login.do?method=login">
姓名:<input type="text" name="name" value="${userForm.map.name}"/> </br> <!--从map 里面去取-->
年龄:<input type="text" name="age" value="${userForm.map.age}"/> </br>
<input type="submit" value="动态ActionForm提交">
</form>-->
<!--懒惰的ActionForm -->
<form name="form1" method="post" action="<%=path%>/login.do?method=login">
姓名:<input type="text" name="name" value=""/> </br>
<input type="submit" value="懒惰ActionForm提交">
</form>
</body>
</html>
/*********UserForm ******************************************************************/
package cn.com.chenlly.ssh.forms;
import org.apache.struts.action.ActionForm;
/**
* @ Class User.java
* @ Description
* @ Company OpenData
* @ Author Chenlly E-mail: Chenlly99@Gmail.com
* @ Version 1.0
* @ Date Dec 20, 2009
*/
public class UserForm extends ActionForm {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
/******struts-config.xml************************************************************/
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<!-- 普通的ActionForm
<form-bean name="guserForm" type="cn.com.chenlly.ssh.forms.UserForm"/> -->
<!-- 动态ActionForm
<form-bean name="userForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String"/><!-- 配置其属性-->
<form-property name="age" type="java.lang.Double"/>
</form-bean>-->
<!-- 懒惰ActionForm-->
<form-bean name="userForm" type="org.apache.struts.validator.LazyValidatorForm"/>
</form-beans>
<!-- 登录 -->
<action-mappings>
<action name="userForm" path="/login" scope="request"
parameter="method" type="cn.com.chenlly.ssh.actions.LoginAction" validate="false">
<forward name="login" path="/login.jsp"/>
</action>
</action-mappings>
</struts-config>
/***LoginAction ***************************************************************/
package cn.com.chenlly.ssh.actions;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.validator.LazyValidatorForm;
import cn.com.chenlly.ssh.forms.UserForm;
/**
* @ Class LoginAction.java
* @ Description
* @ Company OpenData
* @ Author Chenlly E-mail: Chenlly99@Gmail.com
* @ Version 1.0
* @ Date Dec 20, 2009
*/
public class LoginAction extends DispatchAction {
public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response){
/*普通ActionForm
UserForm gUserForm = (UserForm) form;
*/
/*动态ActionForm
DynaActionForm dUserForm = (DynaActionForm) form;
*/
/*懒惰的ActionForm*/
LazyValidatorForm lUserForm = (LazyValidatorForm) form;
//直接取到表单的值,不需要创建formBean 和配置属性
lUserForm.get("name");
System.out.println("name:"+lUserForm.get("name"));
return mapping.findForward("login");
}
}
- ActionForm DynamActionForm LazyValidatorForm DynamValidateForm 使用
- 使用ActionForm類別
- 动态ActionForm使用随笔
- 动态ActionForm使用随笔
- 使用Struts之ActionForm
- 动态ActionForm的使用
- 使用Struts之ActionForm
- 动态ActionForm的使用
- 使用动态ActionForm
- Struts2 使用动态ActionForm
- 使用动态ActionForm
- ActionForm
- ActionForm
- ActionForm
- ActionForm
- actionform
- ActionForm
- Struts 动态actionForm的使用
- JSP的运行内幕[转]
- 疯传福建高考零分作文:兔子你傻啊?! (一定要顶,太有才了,我欣赏)
- JSP,Servlets和JavaBean来构成一个系统的几种途径
- asp.net+ajax+jQ实现树动态创建
- 理想与行动
- ActionForm DynamActionForm LazyValidatorForm DynamValidateForm 使用
- MSVC2005 +STLPort 编译ACE失败
- 一些英语鼓励句子
- SecureCRT在locale是中文情况下的courier new显示不正常
- 如何让团队增加利润
- 去掉电脑开机时跳出的“用户名 密码”框
- spring security 添加SwitchUser配置
- 一道加法题
- JSP彩色验证码