struts2自定义日期类型转换器】的更多相关文章

在java web表单中提交的数据难免会有日期类型,struts2支持的日期类型是yyyy-MM-dd,如果是其他格式,就需要自己进行转换.比如yy-MM-dd 要完成自己定义的转换需要完成. 主要的类是:StrutsTypeConverter,该类是抽象类,需要实现两个方法 1)public Object convertFromString(Map context, String[] values, Class toClass) 2)public String convertToString(…
WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它们.说真的,以前真没这样做过,之前都是一口气查询到数据,然后在jsp页面上格式化,最后展示给用户.但是这次不同,这次我纯属操作数据,没有页面.直接从数据库拿数据给它们返数据.它们给我传数据我持久化数据,说到这里一个小问题就默默的来了. 首先把问题还原一下吧(这是一个数据导出功能),下图中用红框圈起来的都是直接从数据库中拿到的数据,但是不幸的是它…
 ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 例子很简易,要明白的是思路,话不多说,开讲 上篇博客不是说springmvc默认的日期转换格式是yyyy/MM/dd吗?如果我们要别的格式怎么办?(例如yyyyMMdd,yyyy-MM-dd,yyyy年MM月dd日)就用到了自定义日期类型转换器 案例: 1.自定义类型转换器,实现泛型接口Converter package cn.dawn.day20selfconverter.converter; impo…
1.问题:struts默认的日期类型是 xxxx-mm-dd,不能接收xxxx/mm//dd类型的日期 2.解决方案(继承DefaultTypeConverter,覆盖convertValue(Object value ,Class toType)方法) 2.1自定义一个类型转换类 MyDataConverter 2.2 在需要类型转换的Action下添加配置文件 ParamconversionAction-conversion.properties[局部] 2.3在src下添加 xwork-c…
1.1.  struts2自己定义类型转换器 1)        自定类型转换类,继承DefaultTypeConverter类 package com.morris.ticket.conversion; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import com.opensymphony.xwork2.con…
1. 首先自定义一个类型转换器 import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; @Component public class MyDataCon…
Struts2自定义类型转换器分为局部类型转换器和全局类型转换器 (1)局部类型转换器  如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然后属性用date类型是可以接收到的,但是如果传的是20101112这样类型的字符串,用date类型是获取不到,并且会出现错误的,struts2提供了一种类型转换器供我们使用. 以下为局部类型转换器的开发步骤 a.首先要写一个类来继承DefaultTypeConverter b.然后覆盖convertValu…
struts2常用常量的定义与意义 每一次请求都会创建一个新的action,所以struts2的action是线程安全的 拆分struts 为应用指定多个struts配置文件 src 下为各应用配置的(.xml)struts配置文件,都需在struts.xml进行调用 <include file="customer.xml"></include> 配置错误页 配置 package范围的错误页 只在当前package范围内有效 <package name=&…
1.自定义参数转换器 自定义参数转换器必须实现Converter接口 /** * Created by IntelliJ IDEA. * * @Auther: ShaoHsiung * @Date: 2018/8/29 15:42 * @Title: * @Description: 自定义日期转换器 */ public class DateConverter implements Converter<String,Date> { private SimpleDateFormat simpleD…
DateAction.java中代码例如以下: package com.itheima.action; import java.util.Date; public class DateAction { private Date time; public Date getTime() { return time; } public void setTime(Date time) { this.time = time; } public String execute() { return "succ…
方法一: 实现spring mvc 自带的 Formatter 接口 1.创建一个类来实现Formatter接口 import org.springframework.format.Formatter; import java.text.ParseException; import java.util.Locale; public class MyFormatter implements Formatter<CardId> { @Override public String print(Car…
1.编写一个类,继承StrutsTypeConverter,实现其中的convertFromString和convertToString方法,该类如下: package me.edu.utils; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Map; import org.apache.struts2.util.S…
1.PropertyEditor 继承PropertyEditorSupport //controller @Controller public class TestController extends PropertyEditorSupport{ //重写PropertyEditorSupport的setAsText方法 @Override public void setAsText(String text) throws IllegalArgumentException { User u =…
一.类型转换器 1.在动作类action中,声明和表单中name属性的值同名的属性,提供get和set方法,struts2就可以通过反射机制,从页面中获取对应的内容 package com.kdyzm.convert; import com.opensymphony.xwork2.ActionSupport; public class TypeConvertAction extends ActionSupport{ private static final long serialVersionU…
类型转换器引入 为什么页面上输入"12",可以赋值给Handler方法对应的参数?这是因为框架内部帮我们做了类型转换的工作.将String转换成int 但默认类型转换器并不是可以将用户提交的String,转换为用户需要的所有类型.此时 ,就需要自定义类型转换器了 案例:自定义日期类型转换器 要求日期格式为:yyyy/MM/dd ---单日期(在Controller定义了一个方法,主要是对参数有要求) MyCOntroller.java package cn.controller; im…
Struts2自定义类型转换器分为局部类型转换器和全局类型转换器 (1)局部类型转换器 如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然后属性用date类型是可以接收到的,但是如果传的是20101112这样类型的字符串,用date类型是获取不到,并且会出现错误的,struts2提供了一种类型转换器供我们使用. 以下为局部类型转换器的开发步骤a.首先要写一个类来继承DefaultTypeConverterb.然后覆盖convertValue这个…
首先,何为struts2的类型转换器? 类型转换器的作用是将请求中的字符串或字符串数组参数与action中的对象进行相互转换. 一.大部分时候,使用struts2提供的类型转换器以及OGNL类型转换机制即可满足大部分类型转换需求.如: 类User.java package models; public class User { private String username; private String password; public String getUsername() { retur…
课时13 自定义类型转换器 局部(对某个action类) package tutorial; import java.util.Date; public class HelloWorld { private Date birthday; public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { System.out.println(birthday); this.birthday…
1.1.1    Struts2中自定义类型转换器:(了解) 类型转换的过程是双向的过程: JSP---->Action参数提交:String---Date. Action---->JSP数据回显:Date---String. 自定义类型转换器: * 1.实现TypeConverter * convertValue(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, j…
常规的String,int能自动转换,但是,有些类型不是这么简单,比如输入字符串,但需要Date.自定义类型,因此需要自定义类型转换类型转换器分全局和局部按惯例,局部的优先级高于全局 需求: 1.输入yyyy-mm-dd,回显yyyy/mm/dd 2.输入电话号码,如果是座机010-11111111,回显(010)11111111 如果是手机,回显18777777777 这里对于需求1,采用局部类型转换器,对于需求2,采用全局类型转环器 Action:C1.java package org.ah…
Struts2的类型转换器   如何实现Struts2的类型转换器? * 继承StrutsTypeConverter * 覆盖convertFromString和convertToString   注册类型转换器 * 局部类型转换器,局部类型转换器只对当前Action起作用,需要提供如下配置文件: MyActionName-conversion.properties,MyActionName指需要使用转换器的Action名称 "-conversion.properties"固定字符串,…
1.1.1    Struts2中的类型转换器 Struts2内置了常见数据类型多种转换器 boolean 和 Boolean char和 Character int 和 Integer long 和 Long float 和 Float double 和 Double Date 可以接收 yyyy-MM-dd格式字符串 数组  可以将多个同名参数,转换到数组中 集合  支持将数据保存到 List 或者 Map 集合 1.1.2    Struts2中类型转换的错误: 1.NoSuchMetho…
一.类型转换器的应用场景 类型转换是OGNL的一部分,默认的八种基本类型.String.Date会使用类型转换,但是更复杂的类型转换就需要我们自定义了(虽然这个东西一般根本用不到),OGNL可以应用在很多领域,但是在web领域,因为在客户端到服务器端传输的只是字符串,所以这里就有一个需求收缩,我们的需求就变为完成String和复杂对象之间的互相转换.在Struts2中的类型转换则是在客户端的请求参数往Action的成员属性中设置的时候会被调用. 二.如何使用? 1.理论部分 所有的类型转换器都要…
概述 A .从一个HTML 表单到一个 Action 对象,类型转换是从字符串到非字符串.    –HTTP没有"类型" 的概念.每一项表单输入只可能是一个字符串或一个字符串数组.在服务器端, 必须把String 转换为特定的数据类型 B.在struts2中,把请求参数映射到 action 属性的工作由Parameters拦截器负责,它是默认的 defaultStack拦截器中的一员. Parameters拦截器可以自动完成字符串和基本数据类型之间转换. 类型转换错误的处理 A.若Ac…
Struts2的类型转换器 如何实现Struts2的类型转换器? * 继承StrutsTypeConverter * 覆盖convertFromString和convertToString 注册类型转换器 * 局部类型转换器,局部类型转换器只对当前Action起作用,需要提供如下配置文件: MyActionName-conversion.properties,MyActionName指需要使用转换器的Action名称 "-conversion.properties"固定字符串,不能修改…
12.4 pojo绑定 页面中input的name和controller的pojo形参中的属性名称一致,将页面中数据绑定到pojo. 页面定义: controller的pojo形参的定义: 打断点测试: 如果采用类似struts中对象.属性的方式命名,需要将pojo对象作为一个包装对象的属性,action中以该包装对象作为形参. 包装对象定义如下: public class QueryVo { private Items items; } 页面定义: <input type="text&q…
页面录入的字符串:2019/12/05可以映射到实体的日期属性上,但是如果是录入2019-12-05就会报错400 bad request,想要以2019-12-05日期格式的方式映射到实体的日期属性上,需要自定义类型转换器,主要步骤如下: 1.  自定义类实现Convertro<S,T>接口 2.Springmvc.xml中配置ConversionServiceFactoryBean,其属性上配置我们自定义的转换器 3.欲使配置的转换器生效,需要将springmvc.xml的<mvc:…
mvc是基于组件的方式 类型转换的接口Converter,想实现类型转换,必须实现这个接口 Ctrl+N搜索 converter 这是一个接口类 它有很多的实现类.S是字符串.后面T是指要转换类型 新建包untils.下面创建类StringToDate 实现Converter的接口.这里注意导包 不要倒错了. 字符串转为日期类型 实现接口内的方法 parse转换加一个try catch 配置自定义类型转换器 自己写的转换器在组件内注册.里面有个conerters 是set类型的 类的全路径 自定…
Struts2自定义类型转换: 从前台接受到的类型全部是字符串,Struts2自带的一些基本类型转换有时不能满足我们的特别需要,如:日期字符串输入格式,还有一些自定义的类,直接传到后台,我们需要一些自己的转换器: 例: 我有一个Point类型: package cn.jnit.bean; public class Point { private Integer x; private Integer y; public Point() { } public Point(Integer x, Int…
<!-- 问题1: 如何覆盖默认的错误消息? 1). 在对应的 Action 类所在的包中新建 ActionClassName.properties 文件, ActionClassName 即为包含着输入字段的 Action 类的类名 2). 在属性文件中添加如下键值对: invalid.fieldvalue.fieldName=xxx 问题2: 如果是 simple 主题, 还会自动显示错误消息吗? 如果不会显示, 怎么办 ? 1). 通过 debug 标签, 可知若转换出错, 则在值栈的 A…