1、String类型转换为日期(Date)类型

在默认情况下,springmvc不能将String类型转成Date类型,必须自定义类型转换器

public class EmpAction  extends AbstractCommandController{

	@Override
	protected void initBinder(HttpServletRequest request,ServletRequestDataBinder binder) throws Exception {
		binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true));
	}


}


完整的EmpAction.java

package com.rk.web.action;

import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.validation.BindException;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;

import com.rk.web.entity.Employee;

public class EmpAction  extends AbstractCommandController{
	public EmpAction(){
		this.setCommandClass(Employee.class);
	}
	
	@Override
	protected void initBinder(HttpServletRequest request,ServletRequestDataBinder binder) throws Exception {
		binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true));
	}

	@Override
	protected ModelAndView handle(HttpServletRequest request,HttpServletResponse response, Object command, BindException errors) throws Exception {
		System.out.println("EmpAction.handle()");
		ModelAndView modelAndView = new ModelAndView();
		Employee emp = null;
		if(command instanceof Employee){
			emp = (Employee) command;
		}
		modelAndView.addObject("id", emp.getId());
		modelAndView.addObject("name", emp.getName());
		modelAndView.addObject("gender", emp.getGender());
		modelAndView.addObject("hiredate", emp.getHiredate());
		
		modelAndView.setViewName("/jsp/success.jsp");
		return modelAndView;
	}

}


2、解决中文乱码

spring(并非springmvc)提供的,专用于解决POST提交中文乱码问题,需要在web.xml文件中配置

  
  
  	CharacterEncodingFilter
  	org.springframework.web.filter.CharacterEncodingFilter
  	
			encoding
			UTF-8
		
  
  
  	CharacterEncodingFilter
  	/*
  


完整的web.xml



  springmvc01
  
    index.jsp
  
  
  
  	springmvc
  	org.springframework.web.servlet.DispatcherServlet
  	
  		contextConfigLocation
  		classpath:springmvc-helloworld.xml
  	
  
  
  	springmvc
  	*.action
  
  
  
  
  	CharacterEncodingFilter
  	org.springframework.web.filter.CharacterEncodingFilter
  	
			encoding
			UTF-8
		
  
  
  	CharacterEncodingFilter
  	/*
  


字符串转换日期类型、中文编码测试如下:

Spring MVC系列:(4)日期转换器和编码过滤器_第1张图片