SpringMVC前台向后台传输对象

   通过注解实现SpringMVC, 一直按照Struts的思路去做传参,发现后台没有接收到前台的对象参数,试验了多种方法,终于发现了原因,在此做一下记录。

   前台:

                             
后台方法:
 
@Controller
public class SpringTest {
	@RequestMapping(value="/method",method=RequestMethod.POST)
	public ModelAndView method(UserInfo userInfo){
		System.out.println(userInfo.getName());
		System.out.println(userInfo.getSex());
		ModelAndView view = new ModelAndView("success");
		view.addObject("time",new Date());
		return view;
	}
}

注意:

1、在web.xml中一定要配置字符过滤器配置,否则中文传输到后台会发生乱码。

2、input表单中的name直接赋值为UserInfo的属性名称,不需要加对象名。

3、在Controller不需要UserInfo的get、set方法即可直接从前台获取对象。

4、form表单的method属性与方法注解中的method如果同时存在,两者一定要保持一致。

字符过滤器配置:

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


 
  

你可能感兴趣的:(SpringMVC前台向后台传输对象)