SpringMvc注解开发实例教程 下载本文

32 }

3 return new ModelAndView(newRedirectView(\3 // 采用重定向方式跳转页面 3

// 重定向还有一种简单写法 4

35 // return new ModelAndView(\36 } 37

38 @RequestMapping(\

39 public ModelAndView testLogin3(User user) {

// 同样支持参数为表单对象,类似于Struts的ActionForm,User40

不需要任何配置,直接写即可 41 String username = user.getUsername(); 42 String password = user.getPassword(); 43 int age = user.getAge(); 44

if (!\45

|| age < 5) { 46 return new ModelAndView(\47 }

48 return new ModelAndView(\49 } 50

@Resource(name = \获取51

applicationContext.xml中bean的id为loginService的,并注入 privateLoginService loginService; //等价于spring传统注入方式52

写get和set方法,这样的好处是简洁工整,省去了不必要得代码 53

54 @RequestMapping(\55 public String testLogin4(User user) { 56 if (loginService.login(user) == false) { 57 return \58 }

59 return \60 } 61 }

以上4个方法示例,是一个Controller里含有不同的请求url,也可以采用一个url访问,通过url参数来区分访问不同的方法,代码如下:

01 package controller; 02

03 import org.springframework.stereotype.Controller;

04 import org.springframework.web.bind.annotation.RequestMapping; 05 import org.springframework.web.bind.annotation.RequestMethod; 06

07 @Controller

@RequestMapping(\指定唯一一个*.do请求关联到08

该Controller 09 public class TestController2 { 10

11 @RequestMapping

public String testLogin(String username, String 12

password, int age) {

// 如果不加任何参数,则在请求/test2/login.do时,便默认执行13

该方法 14

if (!\15

|| age < 5) { 16 return \17 }

18 return \19 } 20

21 @RequestMapping(params = \22 public String testLogin2(String username, String password) { 23 // 依据params的参数method的值来区分不同的调用方法 24 // 可以指定页面请求方式的类型,默认为get请求 25

if (!\26 { 27 return \28 }

29 return \

30 } 31

32 @RequestMapping(params = \

public String testLogin3(String username, String 33

password, int age) {

if (!\34

|| age < 5) { 35 return \36 }

37 return \38 } 39 }

其实RequestMapping在Class上,可看做是父Request请求url,而RequestMapping在方法上的可看做是子Request请求url,父子请求url最终会拼起来与页面请求url进行匹配,因此RequestMapping也可以这么写:

01 package controller; 02

03 import org.springframework.stereotype.Controller;

04 import org.springframework.web.bind.annotation.RequestMapping; 05

06 @Controller

07 @RequestMapping(\父request请求url 08 public class TestController3 { 09

@RequestMapping(\子request请求url,拼接后等价于10

/test3/login.do public String testLogin(String username, String 11

password, int age) {

if (!\12

|| age < 5) { 13 return \14 }

15 return \16 } 17 }

三、结束语

掌握以上这些Spring MVC就已经有了很好的基础了,几乎可应对与任何开发,在熟练掌握这些后,便可更深层次的灵活运用的技术,如多种视图技术,例如 Jsp、Velocity、Tiles、iText 和 POI。Spring MVC框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。