BeanUtil使用例子:解析并转化HttpServletRequest到Bean的全面测试
2009-03-27 07:05
357 查看
在Web表单提交后解析表单时,一般框架都提供了某种方式可以自动从表单映射到我们的POJO类里面。属性会被自动填充的。
但如果我们在某个需求里,真的需要用程序来解析的话,那么如果有几百个属性,可就是一个噩梦了。
我们可以用java的反射机制来自己实现,也可以通过现成的辅助类库实现。
这里我介绍的是apache的 BeanUtil库的一个实现方式,我增强了默认的解析类,加上了日期的自定义解析。
1 先看解析类
4 运行结果
老紫竹研究室类库演示程序-基础测试:整数、浮点数、字符串、日期、多选数字
编号:1
名字:老紫竹
身高:173.5
体重:90.3
生日:Fri Jan 23 00:01:00 CST 2009
婚否:true
数字:0,3,6,9,
但如果我们在某个需求里,真的需要用程序来解析的话,那么如果有几百个属性,可就是一个噩梦了。
我们可以用java的反射机制来自己实现,也可以通过现成的辅助类库实现。
这里我介绍的是apache的 BeanUtil库的一个实现方式,我增强了默认的解析类,加上了日期的自定义解析。
1 先看解析类
1 <%@page c%> 2 <%@page import="com.laozizhu.util.*,com.laozizhu.util.test.*"%> 3 <% 4 String title = "老紫竹研究室类库演示程序-基础测试:整数、浮点数、字符串、日期、多选数字、布尔"; 5 %> 6 <html> 7 <head> 8 <title><%=title%></title> 9 </head> <body> <% request.setCharacterEncoding("UTF-8"); Base b = new Base(); RequestToBean.populate(request, b); %> <%=title%> <br /> 编号:<%=b.getId()%><br /> 名字:<%=b.getName()%><br /> 身高:<%=b.getHeight()%><br /> 体重:<%=b.getWeight()%><br /> 生日:<%=b.getBirthday()%><br /> 婚否:<%=b.isMarried()%><br /> 数字:<% if (b.getNumberFavorite() != null) for (int num : b.getNumberFavorite()) { out.print(num + ","); } %> <form method="post"><br /> 编号:<input type="text" name="id" value="1" /><br /> 名字:<input type="text" name="name" value="老紫竹" /><br /> 身高:<input type="text" name="height" value="173.5" /><br /> 体重:<input type="text" name="weight" value="90.3" /><br /> 生日:<input type="text" name="birthday" value="2009-01-23" /><br /> 婚否:<input type="radio" name="married" value="1" checked />已婚,& lt;input type="radio" name="married" value="0" />未婚<br /> 数字:<br /> <% for (int i = 0; i <= 9; i++) { %> <input type="checkbox" name="numberFavorite" value="<%=i %>" <%=i%3==0?" checked":"" %> /><%=i%><br /> <% } %> <input type="submit" value="提交测试" /><br /> </form> </body> </html>
4 运行结果
老紫竹研究室类库演示程序-基础测试:整数、浮点数、字符串、日期、多选数字
编号:1
名字:老紫竹
身高:173.5
体重:90.3
生日:Fri Jan 23 00:01:00 CST 2009
婚否:true
数字:0,3,6,9,
相关文章推荐
- BeanUtil解析HttpServletRequest到Bean的测试
- junit 测试问题 No qualifying bean of type [javax.servlet.http.HttpServletRequest] found for dependency
- junit 测试问题 No qualifying bean of type [javax.servlet.http.HttpServletRequest] found for dependency
- Spring 解析httpServletRequest注入参数到Bean的拦截包装
- HttpServletRequestWrapper的使用
- HttpServletRequestWrapper的使用
- 使用HttpServletRequestWrapper 实现防止xss攻击和sql注入
- HttpServletRequestWrapper 的使用
- Ajax使用 XMLHttpRequest 异步加载文档的例子
- HttpServletRequestWrapper的使用
- Filter过滤器及HttpServletRequestWrapper使用
- DAO/Servlet/Service/Bean综合使用小例子
- springmvc的参数接收不能兼容以及HttpServletRequest中的流多次使用
- 使用JAVA发送HTTP请求(Http Request),返回HTTP响应(Http Response)内容,代码程序例子及原理说明
- 如何使用Ajax(XMLHttpRequest)发送带参数的请求,以及如何在Servlet中获取请求中的参数
- request对象之HttpServletRequest的使用
- Struts2中使用HttpServletRequest和HttpServletResponse
- HttpClient使用例子:读取CSDN的投票列表并正则解析
- 使用 STHTTPRequest 框架解析 Soap1.2 教程
- 使用XMLHttpRequest解析json