轻松使用FormBean,摆脱繁重的FormBean的生成、改写......(lazyBean的使用)
来源:互联网 发布:代码软件有哪些 编辑:程序博客网 时间:2024/05/21 20:04
//form.jsp
//*************************************************************
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ page contentType="text/html; charset=GBK" %>
<html:html>
<head>
<title>
Jsp
</title>
</head>
<body>
<html:form action="dynaAction.do" method="POST">
编号: <html:text property="custNo"/>
姓名: <html:text property="custName"/>
地址: <html:text property="address"/>
年龄: <html:text property="age"/>
e-mail: <html:text property="email"/>
电话: <html:text property="tel"/>
<html:submit property="submit" value="Submit"/><br>
<html:reset value ="Reset"/>
</html:form>
</body>
</html:html>
jsp页面没有变化,主要变化的是FormBean和ActionBean的使用,我们来看FormBena 的变化
//formbean(dynaActionFm.java)
//*******************************************************************
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.validator.*;
public class dynaActionFm extends LazyValidatorForm {
//以前的版本继承ActionForm,现在本例继承了LazyValidatorForm
public ActionErrors validate(ActionMapping actionMapping,
HttpServletRequest httpServletRequest) {
/** @todo: finish this method, this is just the skeleton.*/
return null;
}
public void reset(ActionMapping actionMapping,
HttpServletRequest servletRequest) {
}
}
//*******************************************************************
在FormBean中省略一切的set、get,如果你愿意连这个文件也可以省略掉,只要在strurs-config.xml加入描述既可(不是get、set的描述)
大家也许在想struts1.1中开始有了DynaActionForm,也可以不用写那么多的set、get,只要在配置文件(struts-config.xml)中加入相应的属性配置也可以啊,我们这里可以连配置文件都不用写了! 具体的类介绍可查阅这里(http://www.niallp.pwp.blueyonder.co.uk/)
下面看action的使用
//ActionBean(dynaAction.java)
//*******************************************************************
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import org.apache.commons.beanutils.DynaBean;
import java.util.Map;
public class dynaAction
extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
DynaBean dynaForm = (DynaBean)actionForm;//转换为dynaBean,以前的是ActionForm
String custNo = (String)dynaForm.get("custNo");
String custName = (String)dynaForm.get("custName");
String address = (String)dynaForm.get("address");
//.......do someting
//原来的使用是form.getXXXXX(),现在是form.get("XXXXX")
return actionMapping.findForward("listview");//显示页面
}
}
//*******************************************************************
从上面可以看出来,lazyBean实现了自动映射,还可以自动实现反射
这样的话你的FormBean成为了正在的动态的了,表单增加,在你的Action中就可以使用
还有不同情况、不同方式的使用,具体可以看http://www.niallp.pwp.blueyonder.co.uk/了解
下面附struts-config.xml
//struts-config.xml
//*******************************************************************
<?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="dynaActionFm" type="welcome.dynaActionFm" />
</form-beans>
<action-mappings>
<action name="dynaActionFm" path="/dynaAction" scope="request" type="welcome.dynaAction">
<forward name="listview" path="/listJsp.jsp" />
</action>
</action-mappings>
<message-resources parameter="ApplicationResources" />
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
</struts-config>
- 轻松使用FormBean,摆脱繁重的FormBean的生成、改写......(lazyBean的使用)
- 轻松使用FormBean,摆脱繁重的FormBean的生成、改写......(lazyBean的使用)
- 轻松使用FormBean,摆脱繁重的FormBean的生成、改写......(lazyBean的使用)
- 使用formbean的心得体会
- formbean的使用
- Struts 中 formbean的使用(小技巧)
- struts FormBean的用处
- struts1.x的formbean
- struts1 FormBean 的名字
- 【面试】FormBean的作用
- Struts的FormBean及常见错误和标签的使用
- Struts的FormBean及常见错误和标签的使用
- 使用Struts中的动态formbean时的注意事项
- PO、VO、FormBean的思考
- FormBean 与 POJO 的集成
- struts1的验证(FormBean方式)
- FormBean的表单验证流程
- 利用数据库的存储过程生成java的formbean对象
- SQL Server SQL语句导入导出大全
- 雄关漫道真如铁,而今迈步从头越
- 自组织型团队
- JSP中文乱码处理
- 使用asp.net发送邮件详解
- 轻松使用FormBean,摆脱繁重的FormBean的生成、改写......(lazyBean的使用)
- Eclipse Web Tools Platform的Web App Libraries为空的问题
- 在WEBSPHERE下调用ORACLE存储过程
- 官方
- 利用Autoconf和Automake制作Makefile文件时,如何连接进MYSQL的库和头文件?
- ASP.NET Portal Starter 源码深入剖析[简]
- MyEclipse各种版本的注册码
- 为对话框中的控件增加提示的简单方法(转载)
- SOA大师Eric Newcomer先生博客中文版入驻CSDN