SpringMVC注解详解
2015-09-23 10:48
441 查看
@Controller控制器定义
和Struts1一样,Spring的Controller是Singleton的。这就意味着会被多个请求线程共享。因此,我们将控制器设计成无状态类。在spring 3.0中,通过@controller标注即可将class定义为一个controller类。为使spring能找到定义为controller的bean,需要在spring-context配置文件中增加如下定义:
<context:component-scan base-package="com.sxt.web"/> |
@RequestMapping
在类前面定义,则将url和类绑定。在方法前面定义,则将url和类的方法绑定
@RequestParam
一般用于将指定的请求参数付给方法中形参。示例代码如下:@RequestMapping(params="method=reg5") public String reg5(@RequestParam("name")String uname,ModelMap map) { System.out.println("HelloController.handleRequest()"); System.out.println(uname); return"index"; } |
@SessionAttributes
将ModelMap中指定的属性放到session中。示例代码如下:@Controller @RequestMapping("/user.do") @SessionAttributes({"u","a"})//将ModelMap中属性名字为u、a的再放入session中。这样,request和session中都有了。 publicclass UserController { @RequestMapping(params="method=reg4") public String reg4(ModelMap map) { System.out.println("HelloController.handleRequest()"); map.addAttribute("u","uuuu");//将u放入request作用域中,这样转发页面也可以取到这个数据。 return"index"; } } |
<body> <h1>**********${requestScope.u.uname}</h1> <h1>**********${sessionScope.u.uname}</h1> </body> |
@ModelAttribute
这个注解可以跟@SessionAttributes配合在一起用。可以将ModelMap中属性的值通过该注解自动赋给指定变量。示例代码如下:
package com.sxt.web; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.SessionAttributes; @Controller @RequestMapping("/user.do") @SessionAttributes({"u","a"}) publicclass UserController { @RequestMapping(params="method=reg4") public String reg4(ModelMap map) { System.out.println("HelloController.handleRequest()"); map.addAttribute("u","尚学堂高淇"); return"index"; } @RequestMapping(params="method=reg5") public String reg5(@ModelAttribute("u")String uname,ModelMap map) { System.out.println("HelloController.handleRequest()"); System.out.println(uname); return"index"; } } |
相关文章推荐
- 学习日志---随机发牌(easy)
- Spring JdbcTemplate 批量插入或更新操作
- Spring—事务管理
- Java正则表达式使用
- 如何阅读Java源码
- Eclipse的SVN下载地址
- maven构建java项目部署包
- java一些使用技巧
- eclipse中debug使用
- Java正则表达式基础入门知识
- eclipse中的快捷键
- IntelliJ IDEA的光芒会盖过Eclipse吗
- java - 类的加载过程
- JAB2完成Java bean到xml的相互转换
- Spring中 bean 的生命周期
- springMVC教程初级(四)Controller篇(结果、参数 )
- 反射注入失败的原因!
- Hibernate与Spring的事务管理
- Hibernate与Spring的事务管理
- js与java为float、double精确到固定位数