SpringMVC的数据格式化-注解驱动的属性格式化
来源:互联网 发布:mysql删除唯一约束 编辑:程序博客网 时间:2024/06/05 03:56
一、什么是注解驱动的属性格式化?
--在bean的属性中设置,SpringMVC处理 方法参数绑定数据、模型数据输出时自动通过注解应用格式化的功能。
二、注解类型
1.DateTimeFormat
@DateTimeFormat注解可以对java.util.Date、java.util.calenda等时间类型的属性进行标注。
DateTimeFormat最常用的属性就是 pattern,类型为String,使用自定义的时间格式化字符串,如yyyy-MM-dd
2.NumberFormat
@NumberFormat可以对类似数字类型的属性进行标注,它拥有两个互斥的属性。
*pattern。类型为String,使用自定义的数字格式化串,如#,###
*style。类型是NumberFormat.Style,它有几个常用的可选值:
CURRENCY:货币类型
NUMBER:正常数字类型PERCENT:百分数类型
实例:
1.导入所需jar包
2.在web.xml配置前端控制器
<!-- 配置springmvc的前端控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
3.编写一个实体类
package com.dj.pojo;import java.io.Serializable;import java.util.Date;import org.springframework.format.annotation.DateTimeFormat;import org.springframework.format.annotation.NumberFormat;import org.springframework.format.annotation.NumberFormat.Style;public class User implements Serializable{//日期类型@DateTimeFormat(pattern="yyyy-MM-dd")private Date birthday;//正常数据类型@NumberFormat(style=Style.NUMBER,pattern="#,###")private int total;//百分数类型@NumberFormat(style=Style.PERCENT)private double discount;//货币类型@NumberFormat(style=Style.CURRENCY)private double money;public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public int getTotal() {return total;}public void setTotal(int total) {this.total = total;}public double getDiscount() {return discount;}public void setDiscount(double discount) {this.discount = discount;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}}
4.编写一个controller
package com.dj.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import com.dj.pojo.User;@Controllerpublic class UserController {/** * 动态跳转页面 * @param pagename * @return */@RequestMapping(value="/{pagename}")public String index(@PathVariable String pagename){return pagename;}/** * 跳转到显示格式化后数据的页面 * @param user * @param model * @return */@RequestMapping(value="/test",method=RequestMethod.POST)public String test(@ModelAttribute User user,Model model){model.addAttribute("user",user);return "success";}}
5.编写一个测试的表单页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><form action="test" method="post">日期类型:<input type="text" id="birthday" name="birthday"/><br>整数类型:<input type="text" id="total" name="total"/><br>百分数类型:<input type="text" id="discount" name="discount"/><br>货币类型:<input type="text" id="money" name="money"/><br><input type="submit" value="提交"/></form></body></html>
6.编写一个测试显示格式化后的数据的页面。如果希望在视图页面中将模型数据以格式化的方式进行渲染,则需要使用spring的页面标签。 <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<form:form modelAttribute="user" method="post" action="">日期类型:<form:input path="birthday"/><br>整数类型:<form:input path="total"/><br>百分数类型:<form:input path="discount"/><br>货币类型:<form:input path="money"/><br></form:form>
7.最后编写配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- spring可以自动去扫描base-package下面的包或者子包下面的java类 如果扫描到有spring相关注解的类,则吧这个类注册为spring的bean --><context:component-scan base-package="com.dj.controller" /><!-- 默认装配 --><mvc:annotation-driven></mvc:annotation-driven><!-- 视图解析器 --><bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- 前缀 --><property name="prefix"><value>/</value></property><!-- 后缀 --><property name="suffix"><value>.jsp</value></property></bean></beans>
8.最后进行测试
测试成功!
阅读全文
0 0
- SpringMVC的数据格式化-注解驱动的属性格式化
- SpringMVC数据的格式化
- SpringMVC的数据格式化
- Springmvc 注解驱动格式化实例
- 第七章 注解式控制器的数据验证、类型转换及格式化 SpringMVC数据格式化
- SpringMVC数据格式化——注解式控制器的数据验证、类型转换及格式化
- 第七章 SpringMVC数据格式化—注解式控制器的数据验证、类型转换及格式化
- 第七章 注解式控制器的数据验证、类型转换及格式化-- SpringMVC数据格式化
- springmvc之数据的格式化
- SpringMvc中数据的格式化
- SpringMVC的数据转换、数据格式化
- springmvc数据的格式化及数据校验
- 第七章 注解式控制器的数据验证、类型转换及格式化 SpringMVC数据验证
- SpringMVC数据验证——注解式控制器的数据验证、类型转换及格式化
- 第七章 SpringMVC数据验证—注解式控制器的数据验证、类型转换及格式化
- 第七章 注解式控制器的数据验证、类型转换及格式化--SpringMVC数据验证
- SpringMVC添加自定义注解格式化数据
- 第七章 注解式控制器的数据验证、类型转换及格式化 SpringMVC数据类型转换
- 登月计划 (BSGS 快速乘)
- nRF52832 — 串口BLE例程逐行解析【转载】
- 图的链式前向星表示及深度广度优先遍历
- hdoj 5980 Find Small A
- 《Python机器学习算法》勘误
- SpringMVC的数据格式化-注解驱动的属性格式化
- BZOJ1010-玩具装箱toys
- 26. Remove Duplicates from Sorted Array
- 如何在MacOS10.12.6中为Nexus5编译M固件
- 转载一个李神的东西(打一下脸)
- 单线程
- 西山居_2018校招笔试(判断IP地址的合法性)
- Android5.0,6.0,7.0新特性总结
- 浅谈java垃圾收集器