使用ConversionService转换数据

来源:互联网 发布:借助知乎对信仰的回答 编辑:程序博客网 时间:2024/06/04 19:04

 代码:

registerForm.jsp

<%@ 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>

success.jsp

<%@ 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 }<br>生日:<fmt:formatDate value="${requestScope.user.birthday}" pattern="yyyy年MM月dd日"/><br></body></html>

User.java

package com.bean;import java.io.Serializable;import java.util.Date;public class User implements Serializable {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;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn "User [loginname=" + loginname + ", birthday=" + birthday + "]";}}

StringToDateConverter.java

package com.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>{private String datePattern;public void setDatePattern(String datePattern) {this.datePattern = datePattern;}// Converter<S,T>接口的类型转换方法@Overridepublic 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;}}}

UserController.java

package com.control;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import com.bean.*;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;@Controllerpublic class UserController{private static final Log logger = LogFactory.getLog(UserController.class); @RequestMapping(value="/{formName}") public String loginForm(@PathVariable String formName){// 动态跳转页面return formName;}  @RequestMapping(value="/register",method=RequestMethod.POST) public String register(@ModelAttribute User user,Model model) { logger.info(user); model.addAttribute("user", user);     return "success"; }}

截图:





0 0
原创粉丝点击