一 视图
1 registerForm.jsp
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27<%@ 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>测试ConversionService</title> </head> <body> <h3>注册页面</h3> <form action="register" method="post"> <table> <tr> <td><label>登录名: </label></td> <td><input type="text" id="loginname" name="loginname" ></td> </tr> <tr> <td><label>生日: </label></td> <td><input type="text" id="birthday" name="birthday" ></td> </tr> <tr> <td><input id="submit" type="submit" value="登录"></td> </tr> </table> </form> </body> </html>
2 success.jsp
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!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>测试ConversionService</title> </head> <body> 登录名:${requestScope.user.loginname } 生日:<fmt:formatDate value="${requestScope.user.birthday}" pattern="yyyy年MM月dd日"/> </body> </html>
二 领域模型
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39package org.fkit.domain; import java.io.Serializable; import java.util.Date; // 域对象,实现序列化接口 public class User implements Serializable{ private static final long serialVersionUID = 1L; private String loginname; private Date birthday; public User() { super(); // TODO Auto-generated constructor stub } public String getLoginname() { return loginname; } public void setLoginname(String loginname) { this.loginname = loginname; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } @Override public String toString() { return "User [loginname=" + loginname + ", birthday=" + birthday + "]"; } }
三 转换器
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33package org.fkit.converter; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.core.convert.converter.Converter; // 实现Converter<S,T>接口 public class StringToDateConverter implements Converter<String, Date>{ // 日期类型模板:如yyyy-MM-dd private String datePattern; public void setDatePattern(String datePattern) { this.datePattern = datePattern; } // Converter<S,T>接口的类型转换方法 @Override public Date convert(String date) { try { SimpleDateFormat dateFormat = new SimpleDateFormat(this.datePattern); // 将日期字符串转换成Date类型返回 return dateFormat.parse(date); } catch (Exception e) { e.printStackTrace(); System.out.println("日期转换失败!"); return null; } } }
四 控制器
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31package org.fkit.controller; import org.fkit.domain.User; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; @Controller public class UserController{ @GetMapping(value="/registerForm") public String registerForm(){ // 跳转到注册页面 return "registerForm"; } @PostMapping(value="/register") public String register( @ModelAttribute User user, Model model) { System.out.println(user); model.addAttribute("user", user); return "success"; } }
五 配置文件
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40<?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:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" 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"> <!-- spring可以自动去扫描base-pack下面的包或者子包下面的java文件, 如果扫描到有Spring的相关注解的类,则把这些类注册为Spring的bean --> <context:component-scan base-package="org.fkit.controller"/> <!-- 静态资源处理 --> <mvc:default-servlet-handler/> <!-- 装配自定义的类型转换器 --> <mvc:annotation-driven conversion-service="conversionService"/> <!-- 自定义的类型转换器 --> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <list> <bean class="org.fkit.converter.StringToDateConverter" p:datePattern="yyyy-MM-dd"></bean> </list> </property> </bean> <!-- 视图解析器 p:prefix属性表示前缀 p:suffix 表示后缀 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/content/" p:suffix=".jsp"/> </beans>
六 测试
最后
以上就是隐形自行车最近收集整理的关于Spring MVC中ConversionService转换数据的全部内容,更多相关Spring内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复