没有用struts的时候这样做也很方便,呵呵,屡试不爽,超级简化版的bean数据封装
主要是自己写了一个这样的方法:
public static void setVOFromForm(HttpServletRequest request, Object model, String n)
{
try
{
Class class1 = model.getClass();//得到相应model的vo类
Method method1[] = class1.getMethods();//得到该vo类的全部方法
for(int i = 0; i < method1.length; i++)
{
String name = method1[i].getName();//得到当前方法的名字
if(name.startsWith("set"))//是否为set开始的方法,即是否是set方法
{
Class cc[] = method1[i].getParameterTypes();//得到该方法的参数类型数组
if(cc.length == 1)//是否参数唯一
{
String type = cc[0].getName();//得到参数类型
String param = request.getParameter(name.substring(3) + n);//当n=“”时,从request钟得到名字为该方法名第4位开始的字符串的变量值,
if(param != null && !param.equals(""))//不为空或者null
if(type.equals("java.lang.String"))//判断参数类型
method1[i].invoke(model, new Object[]{param});//将得到的变量值注入vo类model的方法method1[i]
else if(type.equals("int") || type.equals("java.lang.Integer"))
method1[i].invoke(model, new Object[]{new Integer(param)});
else if(type.equals("long") || type.equals("java.lang.Long"))
method1[i].invoke(model, new Object[]{new Long(param)});
else if(type.equals("boolean") || type.equals("java.lang.Boolean"))
method1[i].invoke(model, new Object[]{Boolean.valueOf(param)});
else if(type.equals("java.sql.Date"))
{
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date d = df.parse(param);
if(d != null)
method1[i].invoke(model, new Object[]{new Date(d.getTime())});
}
}
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
用的时候这样用就可以了:
RsemployeecheckVO ecvo = new RsemployeecheckVO();
DaoUtil.setVOFromForm(request, ecvo, ""); //将数据封装入ecvo中
jsp页面也和struts一样,需要变量名与bean中的变量名一致并且首字母大写:
<table width="80%" border="1" align="center" bordercolor="#000000" id="tblContent">
<tr>
<td width="14%"><div align="center">单位</div></td>
<td colspan="3"><input name="Unit" value="<%=PageUtil.filterNull(tivo.getUnit())%>" type="text" size="15"></td>
<td width="14%"><div align="center">姓名</div></td>
<td ><input name="Name" type="text" value="<%=PageUtil.filterNull(tivo.getName())%>" size="10"></td>
</tr>
<tr>
<td><div align="center">工伤结案</div></td>
<td colspan="5"><textarea name="Injury_end" cols="40"><%=PageUtil.filterNull(tivo.getInjury_end())%></textarea></td>
</tr>
<tr>
<td><div align="left">事故原因分析情况</div></td>
<td colspan="5"><textarea name="AccidentAnalysis" cols="40"><%=PageUtil.filterNull(tivo.getAccidentAnalysis())%></textarea></td>
</tr>
<tr>
<td>事故责任者受教育情况</td>
<td colspan="5"><textarea name="AccidentEducation" cols="40"><%=PageUtil.filterNull(tivo.getAccidentEducation())%></textarea></td>
</tr>
<tr>
<td>单位对事故处理情况(附:现场图,调查分析会议记录,报告书,处理决定)</td>
<td colspan="5"><textarea name="AccidentDealing" cols="40" rows="5"><%=PageUtil.filterNull(tivo.getAccidentDealing())%></textarea></td>
</tr>
<tr>
<td>防范措施落实情况</td>
<td colspan="5"><textarea name="Carryingout" cols="40" rows="2"><%=PageUtil.filterNull(tivo.getCarryingout())%></textarea></td>
</tr>
</table>
分享到:
相关推荐
2.Struts2和Struts1.x的... Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。 Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。
Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。 虽然,在理论上Struts2的...
知识点:struts2,struts2模型驱动,Java反射,struts2插件使用,struts2与JFreeChart的集成开发,JFreeChart图表 1、开发环境:MyEclipse6.0, Struts 2.0.11, JFreeChart 1.0.9, JCommon 1.0.12,struts2-jfreechart...
Struts原理、开发及项目实施 Holen 2002-9-12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点...
封装通用的Spring3+Struts2+MyBatis3的CRUD+条件分页查询,Spring+Quartz调度,FunctionCharts图像化工具 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context=...
通过JAVA反射技术对HttpServlet进行简单封装,类似于struts框架,页面请求过来的参数名只需要与Action<T> T这个Bean里的变量对应即可,getForm()就是获得页面传过来的参数[注:当前这个只能传T里的string和int/...
JSP视窗组件所使用的struts标记库由四类标记组成: Bean...这些标记被封装在一个普通的标记库中,在文件struts-bean.tld中定义了它的标记库描述器。Bean标记库将标记定义在四个子类别中: 创建和复制bean的标记 脚本
+ TouPiaoAction.java 该类用来接收用户投票的Action,并通过struts2 的模型驱动把数据封装到TouPiaoBean对象中。 //该包下的其它类为各个图表的Action类,用来返回相关图表到客户端 ...
Spring Bean封装机制 Bean Wrapper Bean Factory ApplicationContext Web Context Spring 高级特性 Web 应用与 MVC Spring MVC Spring MVC指南 基于模板的Web表示层技术 Web 应用中模板技术与 JSP 技术的...
对于二次开发的人员来讲,需要对自己想要指定的单表(数据库表)进行生成(bean,hbm.xml,dao.service,action)时,该插件无法做到,我想了一下,作者应该会考虑到这一点吧,因此询问该作者后,他说要购买企业版,能够达到该...
struts的简单封装 mvc-hbase 适于hbase的springmvc封装 orm-common orm框架的基础包 orm-hbase hbase的orm框架 orm-security 安全框架的orm层封装 xmlbean-converter 原xxoo,用于xml和bean的简单转换
2.6.2. Struts的强项........................................................................................................58 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM ...
项目的action和service都通过xml配置文件来描述这个bean,spring通过配置路径直接加载这些bean,从而来管理这些javabean)hibernate是一个数据持久化中间件,他使业务逻辑和数据实现了松耦合,并且封装了所有的数据...
如数据类型转换、文件上传和下载、Struts2应用的安全性、调试与性能分析、FreeMarker、Velocily、Ajax,等等。跟随作者一道深入Struts2。聆听大量来之不易的经验之谈。你对Struts2开发框架的理解和应用水平都将更上...
其中save(FileActionForm fileForm)方法,将封装在fileForm中的上传文件保存到数据库中,这里我们使用FileActionForm作为方法入参,FileActionForm是Web层的表单数据对象,它封装了提交表单的数据。将...
超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...
JSP页面示例 本章通过如下重新编写JSP版本的、在第...对于大多数应用程序来说,最好将对数据库的调用封装到bean中。JSTL包含SQL标签,在创建已有原型的应用程序并有可能减少创建bean的开销的情况下可以使用这个标签。