`
把阳光剪成雨Java
  • 浏览: 25258 次
  • 性别: 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();
 }
}

分享到:
评论

相关推荐

    json java读取 formbean操作

    本话题将围绕如何在Java中使用这些库来读取JSON数据并进行FormBean的操作进行详细讲解。 首先,我们需要理解FormBean的概念。FormBean是Java Web开发中的一个术语,通常用于封装HTML表单提交的数据,以便在服务器端...

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

    当我们提交 Form 表单时,SpringMVC 将自动将 Form 表单提交的参数绑定到 User 对象中,并将其传递给处理器方法。然后,我们可以在处理器方法中访问 User 对象的属性,并进行相应的处理。 需要注意的是,在 ...

    struts中数据在action与jsp中的传递总结.pdf

    FormBean 是一个特殊的 JavaBean,它可以将 HTML 表单中的数据封装起来,并将其传递给 Action。ServletAction 接收到 HTML 请求后,在 Action-mapping 中找到合适的 FormBean,对 HTML 表单中的属性进行匹配,然后...

    动态验证formbean

    在动态表单中,FormBean的属性和验证规则可以在运行时动态生成,而不是在编译时固定。这使得系统能够适应更复杂、多变的业务场景。 3. **实现动态验证FormBean** - **配置文件方式**:通过XML或JSON等配置文件来...

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

    当用户提交表单时,Struts框架会自动将请求参数填充到对应的FormBean属性中。 二、日期类型的处理 在实际应用中,我们可能会遇到需要处理日期类型的字段。Java中常用的日期类型有`java.util.Date`、`java.sql.Date`...

    struts2 (对象.属性)注入

    例如,如果表单中有两个字段`user.username`和`user.password`,那么Struts2将会尝试将这两个字段的值分别设置到Action类中名为`user`的对象的`username`和`password`属性上。 #### 四、示例代码分析 下面通过一个...

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

    在这个例子中,我们将深入探讨如何在Struts1.2中实现动态FormBean并添加验证功能。 首先,让我们理解什么是动态FormBean。在传统的Struts1应用中,每个ActionForm Bean都是一个Java类,它对应于HTML表单的字段,并...

    FormBeanUtil

    每个字段对应Bean的一个属性,用户提交表单后,服务器端会将这些数据绑定到Bean实例上,然后进行处理。这样做的好处在于可以将界面和业务逻辑解耦,使得代码更易于维护和扩展。 二、FormBeanUtil的原理 `...

    Struts1-标签

    这样在表单提交时,Struts框架可以自动将表单数据封装到FormBean实例中。 总之,Struts 1框架的标签库大大简化了JSP页面的开发。了解这些标签的使用方法和它们的属性,可以帮助开发者更加高效地开发Java Web应用...

    java 经典面试题 于网络分享

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

    一个Struts1多文件上传实例(附Form中传List示例)

    此外,如果需要在ActionForm中传递其他非文件数据,可以直接将它们作为普通属性添加到ActionForm中,Struts1会自动将这些数据绑定到FormBean。 总结来说,Struts1的多文件上传实例涉及到以下几个关键点: 1. 定义...

    结合struts和hibernate谈J2EE架构的数据表示.doc

    VO的作用在于封装业务逻辑所需的数据,它可以是由FormBean转化而来,也可以直接由PO转换得到,但其结构应该符合业务规则,而不是简单地复制Web层或持久层的数据结构。在用户查询信息的例子中,VO可能包含一个全名...

    北大青鸟Y2(Struts)ppt

    在 struts-config.xml 文件中定义 FormBean,可以指定其类名、属性以及与 JSP 页面表单字段的映射关系。FormBean 的状态可以在请求之间保持,实现数据的回显和错误信息的显示。 **4. DispatcherAction:** ...

    Struts高级部分(2)(常用Action、验证框架、动态Form

    动态Form是指在运行时根据数据库或其他数据源动态生成的表单。这在处理复杂或变化频繁的数据表单时特别有用。Struts通过以下方式实现动态Form: 1. **Dynamic Form Bean**:ActionForm可以被设计为动态加载其属性,...

    struts-config文件标签详解

    在 Form-bean 元素中,我们可以使用 Form-property 元素来设置 FormBean 的属性。Form-property 元素有两个属性:name 和 value。Name 属性指定了需要设置的属性,value 属性指定了该属性的值。 其他元素 除了 ...

    struts_dynForm用例

    在传统的Struts应用中,表单字段通常与ActionForm类中的属性一一对应,但在某些情况下,如数据库记录的增删改查或者用户自定义配置等场景,表单字段的数量可能会变化,这时StrutsDynForm就能派上用场。 Struts ...

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

    描述中提到的“formbean及增删改查等基本代码”,这是指在Web开发中,FormBean通常用来封装用户在表单中填写的数据,以便于在服务器端处理。而增删改查(CRUD,Create、Read、Update、Delete)是数据库操作的四大...

    struts面试宝典

    在FormBean中,会调用reset方法,将FormBean的属性恢复到初始状态,确保每次 处理请求前,FormBean处于一个干净的状态。 3. 随后,调用FormBean的setter方法,根据HTTP请求参数,将FormBean的属性设置 为相应的值。 ...

    WEB信息系统中的数据校验问题.pdf

    框架自动收集用户输入并以FormBean的形式将这些数据进行封装后传递给Action,然后FormBean可以被传递到业务层(JavaBean)。通过重载ActionForm类中的validate()方法来校验用户输入的数据。 此外,数据校验也可以...

    Spring MVC--4.处理模型数据

    例如,@ModelAttribute注解可以用来关联方法参数和模型数据,方便从请求中获取数据并将其添加到模型中: ```java @RequestMapping(method = RequestMethod.POST) public String processForm(@ModelAttribute(...

Global site tag (gtag.js) - Google Analytics