import com.entity.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; /** * @author user * @create 2017- 11 - 06 - 17:50 */ @Controller @RequestMapping("/user") public class UserController { /** * 在执行该类中的所有@RequestMapping方法之前都先执行该方法 */ @ModelAttribute public void test(){ System.out.println("modelAttribute....."); } /** * 方法参数前加不加@ModalAttribute的效果是一样的,都是先从request中获取user对象,如果没有则创建一个,如果有则直接使用该对象 * 修改后再将该对象保存到request的attribute。result.jsp页面可以直接获取该对象 * @param user * @return */ @RequestMapping("/result") public String result(User user){ System.out.println("结果方法2"); user.setName("shabi"); return "result"; } /** * 此情况下,会先执行test()方法,试图名称会变成user/test02.jsp,而不是result.jsp * result 会被作为value 保存到request的attribute中 ,其key为string * @param user * @return */ @ModelAttribute @RequestMapping("/test02") public String test2(@ModelAttribute User user){ user.setName("test02"); System.out.println("test o2"); return "result"; } }
参考博客:http://blog.csdn.net/xiejx618/article/details/43638537