Struts2的类型转换器





如何实现Struts2的类型转换器?

* 继承StrutsTypeConverter

* 覆盖convertFromString和convertToString



注册类型转换器

* 局部类型转换器,局部类型转换器只对当前Action起作用,需要提供如下配置文件:

MyActionName-conversion.properties,MyActionName指需要使用转换器的Action名称

”-conversion.properties“固定字符串,不能修改。我们AddUserAction类型转换器的配置

文件名称为:AddUserAction-conversion.properties,该配置文件必须和Action放到同一个

目录中,该配置文件的格式为:Action中的属性名称=转换器的完整路径,如:

birthday=com.bjpowernode.struts2.UtilDateConverter

* 全局类型转换器,全局类型转换器可以是所有的Action起作用(同Struts1的类型转换器),

 需要提供如下配置文件:xwork--conversion.properties,该配置文件需要放到src下,该

 配置文件的格式:需要转换的类型完整路径=转换器的完整路径,如:

 java.util.Date=com.bjpowernode.struts2.UtilDateConverter

 

如果全局类型转换器和局部类型转换器同时存在,局部优先





Struts2的标签库就一个,默认以s开头

采用标签读取属性,可以调用转换器的convertToString方法,采用JSTL不会调用

日期转换器代码

package com.bjpowernode.struts2;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map; import org.apache.struts2.util.StrutsTypeConverter; public class UtilDateConverter extends StrutsTypeConverter { private static final String PATTERN = "yyyy/MM/dd"; //浏览器提交到服务器是调用,将字符串转换成对象
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
String dateString = values[0];
SimpleDateFormat sdf = new SimpleDateFormat(PATTERN);
Date date = null;
try {
date = sdf.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
} //服务器向浏览器输出时调用,将某种类型转换成字符串
@Override
public String convertToString(Map context, Object o) {
Date date = (Date)o;
return new SimpleDateFormat("yyyy年MM月dd日").format(date);
} }

Struts2的类型转换器的更多相关文章

  1. struts2学习笔记之十一:struts2的类型转换器

    Struts2的类型转换器   如何实现Struts2的类型转换器? * 继承StrutsTypeConverter * 覆盖convertFromString和convertToString   注 ...

  2. struts2自定义类型转换器

    首先,何为struts2的类型转换器? 类型转换器的作用是将请求中的字符串或字符串数组参数与action中的对象进行相互转换. 一.大部分时候,使用struts2提供的类型转换器以及OGNL类型转换机 ...

  3. Struts2初学 struts2自定义类型转换器

    一.问题的引出      Struts2的类型转换是基于OGNL表达式的,由于请求的参数都是字符串,而JAVA 本身属于强类型的的语言,这样就需要把请求参数字符串转换成其他类型.     Struts ...

  4. [JavaWeb基础] 013.Struts2 自定义类型转换器

    很多时候,我们在做web开发的时候经常要用到时间的转换器,Struts2给我们提供了一种类型转换器的接口.下面我们讲讲怎么实现吧. 1.首先我们要定义一个类型转换的类,继承自com.babybus.s ...

  5. Struts2:类型转换器

    常规的String,int能自动转换,但是,有些类型不是这么简单,比如输入字符串,但需要Date.自定义类型,因此需要自定义类型转换类型转换器分全局和局部按惯例,局部的优先级高于全局 需求: 1.输入 ...

  6. Struts2之类型转换器

    一.类型转换器的应用场景 类型转换是OGNL的一部分,默认的八种基本类型.String.Date会使用类型转换,但是更复杂的类型转换就需要我们自定义了(虽然这个东西一般根本用不到),OGNL可以应用在 ...

  7. Struts2之类型转换器的使用

    一.学习案例:通过在输入页面(input.jsp)用同一个输入框同一时候输入username和password,通过类型转换器在输出页面(output.jsp)分别输出username和passwor ...

  8. Struts2之自定义类型转换器

    Struts2自定义类型转换器分为局部类型转换器和全局类型转换器 (1)局部类型转换器 如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然后属性用d ...

  9. struts2 笔记02 文件上传、文件下载、类型转换器、国际化的支持

    Struts2的上传 1. Struts2默认采用了apache commons-fileupload  2. Struts2支持三种类型的上传组件 3. 需要引入commons-fileupload ...

随机推荐

  1. Java: String.split(....); 结果很意外

    String txt = "join|公共聊天室||"; String[] paras = txt.splite("\\|"); String t1 = par ...

  2. 2018 ACM 网络选拔赛 沈阳赛区

    B. Call of Accepted #include <cstdio> #include <cstdlib> #include <cmath> #include ...

  3. 使用gdb+core查看错误信息

    core的使用Linux下core文件调试方法 ulimit -c xxx可以设置core文件的大小 proc/sys/kernel/core_pattern可以控制core文件保存位置和文件名格式. ...

  4. 用c语言实现http请求

    用c语言来实现一个简单的http请求,请求 www.cnblogs.com 首页 #include<stdio.h> #include<stdlib.h> #include&l ...

  5. [持续更新] 文章列表 Last Update: 8/21/2017

    1.前端 HTML5快速学习二 Canvas@20141125 HTML5快速学习一@20141122 2.ASP.NET(MVC) MVC5+EF6 完整教程17--升级到EFCore2.0@201 ...

  6. nGrinder TestRunnerInsertMysqlMore.groovy

    s C:\Users\Lindows\workspace\GroovyTest\src\com\iteye\lindows\mysql\TestRunnerInsertMysqlMore.groovy ...

  7. lombok 工具类的介绍

    lombok 是一个非常非常好用的工具类.打个比方,一个bean,需要字段,get set方法 无参有参构造器,重写equals和hashcode,字段一多很麻烦.它,就是来解决这个问题的.一个注解全 ...

  8. __attribute__的一些相关属性

    __attribute__((format()))  这个format有3个参数. int my(NSString *str,NSString *str1,NSArray*str2,...) __at ...

  9. Linux重启服务器步骤

  10. win2003服务器安全设置教程

    服务器安全设置 1.系统盘和站点放置盘必须设置为NTFS格式,方便设置权限. 2.系统盘和站点放置盘除administrators 和system的用户权限全部去除. 3.启用windows自带防火墙 ...