springmvc之数据格式化

一、使用内置的注解进行字段级别的解析/格式化:

1、在模型类字段级别添加@NumberFormat、@DateTimeFormat等内置注解:

public class FormatterModel {  
    @NumberFormat(style=Style.NUMBER, pattern="#,###")  
    private int totalCount;  
    @NumberFormat(style=Style.PERCENT)  
    private double discount;  
    @NumberFormat(style=Style.CURRENCY)  
    private double sumMoney;  
      
    @DateTimeFormat(iso=ISO.DATE)   
    private Date registerDate;  
      
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")   
    private Date orderDate;  
  
    //省略getter/setter  
}  

 

2、解析/格式化验证:

FormatterController类:

@Controller
public class FormatterController {

    @RequestMapping("/formatter/hello")
    public String formatter(@ModelAttribute("model")FormatterModel model) {
        model.setTotalCount(10000);
        model.setDiscount(0.51);
        model.setSumMoney(10000.13);
        model.setRegisterDate(new Date(2013-1900, 4, 1));
        model.setOrderDate(new Date(2013-1900, 4, 1, 20, 18, 18));

        return "formatter";
    }
}

 fomatter.jsp:

<%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8"%>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
totalCount:<spring:bind path="model.totalCount">${status.value}</spring:bind><br/>
discount:<spring:bind path="model.discount">${status.value}</spring:bind><br/>
sumMoney:<spring:bind path="model.sumMoney">${status.value}</spring:bind><br/>
registerDate:<spring:bind path="model.registerDate">${status.value}</spring:bind><br/>
orderDate:<spring:bind path="model.orderDate">${status.value}</spring:bind><br/>
<br/><br/>
<form:form commandName="model">
    <form:input path="sumMoney"/>
</form:form>

 使用http://localhost:8080/formatter/hello访问可看到格式化后的结果。

 

二、功能处理方法参数级别的数据解析:

@Controller
public class FormatterController2 {

    @RequestMapping("/formatter/hello2")
    public String formatter(@DateTimeFormat(pattern="yyyy-MM-dd") @RequestParam("date") Date date) {
        System.out.println(date);
        return "success";
    }
}

访问地址:http://localhost:8080/formatter/hello2?date=2012-12-10

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值