zoukankan      html  css  js  c++  java
  • struts2类型转换

    struts2里面不使用ActionForm来接收参数,而是在Action中定义一个与请求参数同名的属性就能接收到表单中的参数。jsp页面上通过el表达式来取得Action中属性的值。

    如果在一个类中包含了另一个类作为参数,那么在form表单中定义属性名称的时候就需要使用对象来指定了,比如form中的input的name为Person.id,在el中也要使用Person.id获取数据。

    struts2中有两种类型转换器:

    1,局部类型转换器:

    定义类型转换器:

    package control.center;

    import java.sql.Date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Map;

    import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

    public class TypeConvert extends DefaultTypeConverter {

     /**
      *
      * value:表示获取的值
      * toType:表示转换的类型
      *
      */
     public Object convertValue(Map<String, Object> context, Object value,
       Class toType) {
             
      SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd");
       try {
       if(toType==Date.class)
       {
        String[] params=(String[])value;
        return dateFormat.parse(params[0]);
       }else if(toType==String.class)
       {
         Date date=(Date)value;
         return dateFormat.format(date);
       }
      
       } catch (ParseException e) {
               e.printStackTrace();
      }
       return null;
     }

    }

    注册局部类型转换器:

    假如需要转换数据类型的Action为HelloWorldAction,那么创建类型转换配置文件HelloWorldAction-convertion.properties,配置文件中的文本:

    birthday=com.type.DateTypeConver

    其中birthday为Action中需要转换的属性,DateTypeConver为转换器

    全局类型转换:

    只要将局部类型转换器的名称改为xwork-convertion.properties,并将该文件放置在src目录下。配置文件中的文本:

    birthday=com.type.DateTypeConver

  • 相关阅读:
    gdb 调试(查看运行时数据)(五)
    Kendo UI开发教程(23): 单页面应用(一)概述
    Kendo UI开发教程(24): 单页面应用(二) Router 类
    Kendo UI开发教程(26): 单页面应用(四) Layout
    Kendo UI开发教程(25): 单页面应用(三) View
    Kendo UI开发教程(27): 移动应用开发简介
    [置顶] Kendo UI开发教程: Kendo UI 示例及总结
    web端、android端的文件上传
    [置顶] 关于本博客 http://www.imobilebbs.com
    hdu4707 Pet
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1963330.html
Copyright © 2011-2022 走看看