没有用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>
分享到:
相关推荐
在"模拟Struts功能--最后的一些实体bean以及源码下载"这个主题中,我们可以深入探讨Struts框架的核心概念、实体Bean的作用以及如何通过源码学习Struts的工作原理。 首先,让我们了解一下Struts框架的基础。Struts...
批量封装对象是Struts 1.x中处理大量数据时常用的一个技巧,它能有效地提高开发效率并减少代码量。 首先,让我们理解什么是批量封装。在处理表单提交或者数据导入等场景时,我们可能需要一次性处理多个相似的对象。...
Action类需要继承`org.apache.struts.action.Action`,并且表单数据通常封装在FormBean中。为了获取这些数据,开发者需要将Bean存入Page、Request或Session范围。 - **Struts2** 则是一个pull-MVC架构,它允许...
通过本文介绍,我们了解到在Struts框架中配置数据源的具体方法,特别是使用`org.apache.commons.dbcp.BasicDataSource`这一高效的数据源实现。合理配置数据源不仅能够提升应用性能,还能简化数据库操作流程,为...
标题中的"Spring+ibatis+struts框架整合+springmvc数据接口封装含数据表可直接运行"揭示了这个项目是关于使用三个主流的Java Web开发框架——Spring、iBatis和Struts进行集成,并且结合Spring MVC实现了数据接口的...
bean标签可以帮助我们在JSP页面中创建、读取、更新以及销毁JavaBean对象,使得数据与视图的交互变得更加简单。 以下是bean标签库中常用的几个标签及其用法: 1. `<bean:define>`:此标签用于在JSP页面范围内定义一...
配置文件定义了请求如何映射到特定的Action,ActionForm是封装用户输入数据的对象,Action是执行业务逻辑的类,而ActionMapping则负责映射Action和URL之间的关系。 在提供的链接中,博客作者可能详细讨论了如何在...
- **数据绑定**:可以直接将表单字段与Bean的属性进行绑定,从而简化数据处理流程。 - **事件监听**:可以定义监听器来响应特定的事件,如页面加载或表单提交。 #### 七、案例分析 - **代码示例**:文档中提到的...
本资源提供了自己动手编写Struts源代码的实践过程,这是一次深入理解Struts工作原理的绝佳机会。下面将详细阐述Struts框架的核心概念、主要组件以及它们的功能。 1. **MVC设计模式**:Struts是MVC设计模式的一个...
3. **Form Bean**:用于封装用户输入的数据,通常与JSP表单字段对应,提供数据验证功能。 4. **Tiles**:Struts的视图组件,允许开发者创建可重用的页面布局和组件,提高了视图层的灵活性。 5. **Interceptor...
根据给定的文件信息,我们可以深入探讨Bean标签库在JavaServer Pages (JSP) 和 Struts 框架中的应用及其重要性。 ### Bean标签库简介 Bean标签库是Struts框架的一部分,它提供了一系列用于操作JavaBeans的标签。...
Struts提供了各种标签库,如struts-tiles和struts-bean,以简化视图的开发。 6. **Tiles**:是Struts的一个扩展,允许开发者定义可重用的页面布局,增强了视图的结构化管理。 在张孝祥的视频教程中,可能涵盖了...
### Spring封装其他框架知识积累 #### 一、Spring与Struts1集成 在Spring与Struts1集成的过程中,主要是利用Spring来管理Struts1中的Action对象。通过这种方式,可以更好地利用Spring的IoC(Inverse of Control,...
3. **Form Beans**:Struts中的表单bean是用来封装用户输入数据的Java对象。它们与HTML表单字段相对应,并在Action类中进行验证和处理。 4. **JSP和Taglibs**:Struts提供了丰富的标签库,如logic、bean、html等,...
Bean通常是指业务对象或数据载体,而Action则通常是Struts框架中的概念,用于处理用户的请求并执行相应的业务逻辑。 1. **Excel导入**:这个过程涉及读取Excel文件并将其数据转换为程序可处理的数据结构。Java中...
- **创建Form Bean**:Form Bean 负责封装用户输入的数据。 - **编写Action类**:Action类是控制层的核心,负责处理用户的请求并调用相应的业务逻辑。 - **编写JSP页面**:这些页面作为视图,展示数据给用户。 4...
本书《Struts In Action》中文版旨在帮助读者全面掌握Struts框架的应用与开发技巧,是一本适合初学者和有一定经验开发者阅读的技术书籍。本书作者Ted Husted,由Eric Liu(铁手)翻译。 **1.1.1 谁创建了Struts?** ...
- **创建Model组件**:创建JavaBeans类,封装业务数据和逻辑。 - **创建View组件**:设计JSP页面,使用EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)来显示Model中的数据。 - **创建...
6. **JSP视图**:展示用户界面,通常使用Struts1提供的标签库,如`, `<bean:`, `等,它们简化了JSP页面的编写,方便与Action和Form Bean交互。 7. **请求流转**:用户发送请求到服务器,被ActionServlet捕获,然后...