SPRING MVC3.2案例讲解--SPRING MVC3的各种URL映射+JSP视图跳转(3)

本章节主要讲解使用springmvc进行controller到view的转向,涉及代码包含JSP视图,

 

 

 

和上一章节最大的配置点不同是:

 

无任何视图指向的Controller   @ResponseBody是关键代码,表示直接返回内容,不转向JSP视图

@Controller
public class MappingController {

	@RequestMapping("/mapping/path")
	public @ResponseBody String byPath() {
		return "Mapped by path!";
	}
}

 

指向具体视图的Controller,无@ResponseBody,表示会指向某个JSP视图

@Controller
@RequestMapping("/views/*")
public class ViewsController {

	@RequestMapping(value="html", method=RequestMethod.GET)
	public String prepare(Model model) {
		model.addAttribute("foo", "bar");
		model.addAttribute("fruit", "apple");
		return "views/html";
	}

 

基于视图转向的四种用法:

1.自己制定转向的视图

	//  http://127.0.0.1:8010/views/html --->对应 views/html.jsp
	@RequestMapping(value="html", method=RequestMethod.GET)
	public String prepare(Model model) {
		model.addAttribute("foo", "bar");
		model.addAttribute("fruit", "apple");
		return "views/html";
	}
	

 

 

2.spring指向默认的视图,通过org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator实现默认视图的转向,见日志信息:

DEBUG DispatcherServlet Unable to locate RequestToViewNameTranslator with name 'viewNameTranslator': using default [org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@55a58f]

//  http://127.0.0.1:8010/views/viewName --->对应 views/viewName.jsp
	@RequestMapping(value="/viewName", method=RequestMethod.GET)
	public void usingRequestToViewNameTranslator(Model model) {
		model.addAttribute("foo", "bar");
		model.addAttribute("fruit", "apple");
	}
	

 

3.URI的 @PathVariable 的获取,注意参数名称必须一致!如:

 

//  http://127.0.0.1:8010/views/pathVariables/bar/apple --->对应 views/html.jsp
	@RequestMapping(value="pathVariables/{foo}/{fruit}", method=RequestMethod.GET)
	public String pathVars(@PathVariable String foo, @PathVariable String fruit) {
		// No need to add @PathVariables "foo" and "fruit" to the model
		// They will be merged in the model before rendering
		return "views/html";
	}
 

 

 

4. 利用URL的@PathVariable给JAVABEAN赋值 

 

//http://127.0.0.1:8010/views/dataBinding/bar/apple --->对应 views/dataBinding.jsp
	@RequestMapping(value="dataBinding/{foo}/{fruit}", method=RequestMethod.GET)
	public String dataBinding(@Valid JavaBean javaBean, Model model) {
		// JavaBean "foo" and "fruit" properties populated from URI variables 
		return "views/dataBinding";
	}
 
public class JavaBean {
	
	@NotNull
	private String foo;

	@NotNull
	private String fruit;
//注意此处有GET SET 方法,篇幅有限,不在文章中赘诉
}
 群:J2EE系统架构  203431569 ,进群前请标注开发的软件所属行业及工作经验!!

 

  • 大小: 70.7 KB
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值