jsp 格式化java代码_Springmvc数据格式化原理及代码案例

1、简介

Converter可以将一种类型转换成另一种类型,是任意Object之间的类型转换。

Formatter则只能进String与任意Object对象的转换,它提供解析与格式化两种功能

解析:将String类型字符串转换为任意Objec对象,

格式化:将任意Objec对象转换为字符串进行格式化显示。

使用Formatter

实现Formatter接口定义一个类,T为要解析得到或进行格式化的数据类型。

在类中实现两个方法

String print(T t,Locale locale):把T类型对象解析为字符串形式返回

T parse(String sourse,Locale locale):由字符串解析得到T类型对象。

2、示例

2.1、实体类

package com.yl.bean;

import java.util.Date;

public class User {

private String username;

private Date date;

public User() {

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public Date getDate() {

return date;

}

public void setDate(Date date) {

this.date = date;

}

@Override

public String toString() {

return "User{" +

"username='" + username + '\'' +

", date=" + date +

'}';

}

}

2.2、控制器

package com.yl.controller;

import com.yl.bean.User;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.servlet.ModelAndView;

@Controller

public class UserController {

@RequestMapping("/stringToDate")

public ModelAndView jsonToObject(User user){

ModelAndView modelAndView=new ModelAndView();

modelAndView.addObject("user",user);

modelAndView.setViewName("success");

System.out.println(user);

return modelAndView;

}

}

2.3、jsp

请输入日期(yyy-mm-dd):

提交

2.4、数据格式化类

package com.yl.utils;

import org.springframework.format.Formatter;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Locale;

/**

* 日期格式化

*/

public class DateFormatter implements Formatter {

/**

* 字符串转Date

* @param text

* @param locale

* @return

* @throws ParseException

*/

@Override

public Date parse(String text, Locale locale) throws ParseException {

SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");

return sf.parse(text);

}

/**

* Date转字符串

* @param date

* @param locale

* @return

*/

@Override

public String print(Date date, Locale locale) {

SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");

return sf.format(date);

}

}

2.5、在配置文件注册自定义数据格式化类

xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation=" http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd">

3、使用注解实现数据格式化

package com.yl.bean;

import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

public class User {

private String username;

@DateTimeFormat(pattern = "yyyy-MM-dd")

private Date date;

public User() {

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public Date getDate() {

return date;

}

public void setDate(Date date) {

this.date = date;

}

@Override

public String toString() {

return "User{" +

"username='" + username + '\'' +

", date=" + date +

'}';

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值