`
把阳光剪成雨Java
  • 浏览: 24101 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

WebUtils,将form表单数据封装到formbean中,生成全球唯一ID,将formbean中的属性值拷贝到User里

 
阅读更多

package cn.utils;

import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.Converter;

import cn.web.formbean.FormBean;

public class WebUtils {
 public static <T> T request2bean(HttpServletRequest request, Class<T> type) {
  T bean;
  try {
   bean = type.newInstance();
  } catch (Exception e) {
   throw new RuntimeException(e);
  }
  Enumeration en = request.getParameterNames();
  while (en.hasMoreElements()) {
   String name = (String) en.nextElement();
   String value = request.getParameter(name);
   try {
    BeanUtils.setProperty(bean, name, value);
   } catch (Exception e) {
    throw new RuntimeException(e);
   }
  }
  return bean;
 }

 public static void copyBean(Object dest, Object src) {
  ConvertUtils.register(new Converter() {
   @Override
   public Object convert(Class type, Object value) {
    if (value == null)
     return null;
    String str = (String) value;
    if (str.trim().equals(""))
     return null;
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    try {
     return df.parse(str.trim());
    } catch (ParseException e) {
     throw new RuntimeException();
    }
   }
  }, Date.class);
  try {
   BeanUtils.copyProperties(dest, src);
  } catch (Exception e) {
   throw new RuntimeException();
  }
 }

 public static String generateID() {
  return UUID.randomUUID().toString();
 }
}

分享到:
评论

相关推荐

    struts1&struts2

    2.Struts2和Struts1.x的... Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。 Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。

    SpringMVC中使用bean来接收form表单提交的参数时的注意点

    本篇文章主要介绍了SpringMVC中使用bean来接收form表单提交的参数时的注意点,具有很好的参考价值。下面跟着小编一起来看下吧

    动态验证formbean

    介绍如何使用动态formbean的例子

    java 经典面试题 于网络分享

    A FormBean是一种数据bean,主要用来封装表单提交上来的数据,并把这些数据传递给Action B 在FormBean中可以对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证 C 用户每次提交表单,都会...

    json java读取 formbean操作

    NULL 博文链接:https://haixiami200411.iteye.com/blog/736554

    Struts1.2动态FormBean加验证功能的一个例子

    Struts1.2动态FormBean 加 验证功能 的一个例子

    JAVA WEB框架,java网站一个模块只用写一个文件

    例如添加一个用户的时候,user表中有name和id两个字段,那么在表单中必需有两个&lt;input&gt;name分别为name和id(大小写忽略) 3.每一个控制层的跳转必需要带上参数mode,mode可为: OTHER//其它,SHOWONE//显示单例,...

    JAVA期末大作业课程设计基于SSH框架的管理系统.zip

    structs的总控制器ActionServlet在用户提交请求时将数据放到对应的form对象中的成员变量中。 第四步:派发请求;控制器根据配置信息,对象ActionConfig将请求派发到具体的Action,对应的formBean一并传给这个

    Struts原理、开发及项目实施

    流程:在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传...

    谈谈你对Struts的理解。

    ActionServlet把请求交给action去处理之前,会将请求参数封装成一个formbean对象(就是一个java类,这个类中的每个属性对应一个请求参数),封装成一个什么样的formbean对象呢?看配置文件。  3.要说明的是, ...

    struts2 (对象.属性)注入

    在struts1中每次提交表单的时候,表单中的属性值都先赋予formbean,然后操作formbean。但是现在struts2中用对象.属性名来给对象赋值,然后操作这个对象。而这些对象都是vo的实现,如果使用hibernate,可以直接把...

    struts1和struts2的区别

    Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。 虽然,在理论上Struts2的...

    jsp编写的网上书店

    * 在此方法中处理HTTP请求数据,并作响应 */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ...

    利用java反射校验struts中的form(含正则表达式)

    在struts框架中,如果每次都去校验form中的每个字段,显然费时费力,本例通过java反射得到form中的字段和值,并较验,用于在与数据库交互之前的校验,从而防止数据库恶意注入. 随包附带一个通用的易扩展的正则表达式校验类...

    Struts中FormBean的日期类型字段赋值自动转化

    NULL 博文链接:https://zywang.iteye.com/blog/413003

    Struts html:checkbox框初始默认是选中的解决方法

    在Struts中几种情况可以使标签初始就是选中的,Formbean里面该Property的值设为 1.on 、2.yes 、3.true 这三种情况都是可以实现默认选中的。 注:如果不选中,最好把Property的设置为””,因为在Action中得到...

    可以自动生成sql语句的工具

    可以自动生成sql语句的工具。可以生成formbean及增删改查等基本代码。参数输入表名称即可。

    Spring面试题

    一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm的 Validate()验证后选择将请求发送到哪个...

    FormBeanUtil

    FormBeanUtil.rar 从javaeye拷贝下来,为aiaiya下载

    Management-System-of-company:项目使用Servlet + mybatis构建的Web项目,目的是为了进一步熟悉mybatis的进一步配置,根据spring的内核编写了FormBean进行使用

    为了进一步熟悉SSM框架,我单独摘出了mybatis部署在普通的java Web项目上,从spring上插入了依赖注入,自己根据反射编写了一个映射工具类,可以根据前端返回的信息来封装bean FormBean如下 public class FormBean { ...

Global site tag (gtag.js) - Google Analytics