页面输入data类型字符串 转换成data类型

jsp页面

<s:form action="conversion"><s:textfield name="age" label="Age"></s:textfield><s:textfield name="birth" label="Birth"></s:textfield><s:submit></s:submit></s:form>

converter 转换所有Data类型

package com.converters;import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;import javax.servlet.ServletContext;import org.apache.struts2.ServletActionContext;
import org.apache.struts2.util.StrutsTypeConverter;public class DateConverter extends StrutsTypeConverter {private DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");public DateConverter() {//System.out.println("DateConverter's constructor...");
    }@Overridepublic Object convertFromString(Map context, String[] values, Class toClass) {//System.out.println("convertFromString...");if(toClass == Date.class){if(values != null && values.length > 0){//String转换成DataString value = values[0];//System.out.println(value);try {return dateFormat.parseObject(value);} catch (ParseException e) {e.printStackTrace();}}}//若没有转换成功, 则返回 valuesreturn values;}@Overridepublic String convertToString(Map context, Object o) {//Data转换成String到页面System.out.println("convertToString...");if(o instanceof Date){Date date = (Date) o;return dateFormat.format(date);}//若转换失败返回 nullreturn null;}}

在src目录下配置xwork-conversion.properties文件其中内容

java.util.Date=com.converters.DateConverter

Student类

package com.converters;import java.util.Date;public class Student {private int age;public void setAge(int age) {this.age = age;}public int getAge() {return age;}private Date birth;//Data型public void setBirth(Date birth) {this.birth = birth;}public Date getBirth() {return birth;}@Overridepublic String toString() {return "Student [age=" + age + ", birth=" + birth + "]";}}

ConversionAction

package com.converters;import java.util.Date;import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;public class ConversionAction extends ActionSupport implements ModelDriven<Student>{/*** */private static final long serialVersionUID = 1L;public String execute(){System.out.println("Student: " + stu);return "success";}private Student stu;@Overridepublic Student getModel() {stu = new Student();return stu;}}

运行结果

转载于:https://www.cnblogs.com/lusufei/p/7294372.html

struts2类型转换器相关推荐

  1. 8.Struts2类型转换器

    类型转换器 1.引入 在Struts2中,请求参数类型不仅可以是String,还可以是其它类型. 如,定义一个请求参数birthday为Date类型,给其赋值为1949-10-1, 则birthday ...

  2. Struts2自定义类型转换器、自定义拦截器和用户输入数据的验证

    一.自定义类型转换器 1.编写一个类,继承com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter 2.覆盖掉其中的public Obj ...

  3. Struts2(批量类型转换器struts2.3.4)

    批量类型转换器 package com.wildcat.converter;import java.util.ArrayList; import java.util.List; import java ...

  4. Struts2下创建自定义类型转换器(表单中日期的处理)

    在表单提交中需要有日期的输入,默认的Struts2处理机制可能不能满足需求,需要自定义一下类型转换器.如: String----->java.util.Date:输入 java.util.Dat ...

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

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

  6. Struts2之类型转换器

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

  7. Struts2自定义类型转换器

    重要重要:以后一定要导对包,到错了一个包纠结了一天重点内容 一.Struts2中有自带类型转换器也有自定义类型转换器 1)比如表单提交的信息有 用户名,生日, 年龄, Action中对应的数据类型分别 ...

  8. struts2教程:12、自定义类型转换器

    自定义类型转换器 有两种:1.局部.2.全局 java.util.Date类型的属性可以接收格式为2009-07-20的请求参数值.但如果我们需要接收格式为20091221的请求参数,我们必须定义类型 ...

  9. Struts2中自定义类型转换器

    Struts2虽然提供了强大的类型转换机制,但是有的情况还是需要程序员手动去转换. 同样拿经典的用户登录功能: <h2>局部类型转换器</h2><s:form actio ...

最新文章

  1. 学 Win32 汇编[17]: 关于压栈(PUSH)与出栈(POP) 之一
  2. Windows10内置Linux子系统初体验
  3. python的类变量和成员变量用法_Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析...
  4. php实现服务器文件同步,PHPstorm配置同步服务器文件
  5. [BC Round#26] Card 【各种水】
  6. date设置时间_解决 IDEA 无法找到 java.util.Date 的问题
  7. java 上下文加载器_【深入理解Java虚拟机 】线程的上下文类加载器
  8. 4chan 爬虫_类似4chan网站
  9. OpenShift 4 - Knative教程 (1) 创建Serverless运行环境
  10. Python回归 岭回归(Ridge Regression)
  11. php yaf框架 校验登录,yaf框架是get或post请求的判断
  12. iOS-代码实现TableViewCell创建多个样式的Cell
  13. org.springframework.stereotype 注解
  14. 简述Java三大特性
  15. java培训韩顺平_java韩顺平视频教程
  16. 9. 2019美赛论文提交注意事项
  17. C语言:判断对错(简化版)
  18. 2021-2027全球与中国巡航型摩托车市场现状及未来发展趋势
  19. DNS服务器可能不可用
  20. vh布局移动端软键盘弹起改变高度问题

热门文章

  1. ranorex自动化测试框架开发--控件操作
  2. 实现双击IE9的Tab键关闭当前页面的功能
  3. WI-FI不错,发展可以参考心理态度路子
  4. 一道终身受用的测试题
  5. oc 默认属性关键词
  6. resize函数_Excel VBA解读(134): 使用Excel函数提高自定义函数的效率
  7. Xamarin Essentials教程屏幕状态DeviceDisplay
  8. Xamarin无法调试Android项目
  9. iOS 9应用开发教程之编辑界面与编写代码
  10. 通风与防排烟工程电子书_暖通、通风、防排烟风管如何做抗震设计呢?