`
wen147258
  • 浏览: 27225 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

springmvc详细讲解--从浅及深(一)

阅读更多
这两天在论坛中经常看到有朋友提出关于springmvc的一些问题,我去年的时候也是如此,那会刚毕业,很多东西都一知半解的,加上上一个公司不能上网,所以很多问题都困扰着我。
spring框架就是其中的一个,说起spring,我想很多朋友肯定是对它又爱又恨的,它的功能的确很强大,各种特性,可以集成很多第三方的框架,但功能强大的同时就意味着我们要掌握它就会有些困难,但是我们不能被困难打倒是吧,因为我们是“程序猿”,对吧,哈哈,说了这么多,其实就想告诉大家多发点时间,多思考一下,我想很多问题我们就能想明白。
这段时间我会给大家陆陆续续分享一些springmvc中一些东西,这些东西都是我自己在项目中使用或者自己工作之余研究的或者是查看官方文档得出的东西,希望能给大家带来帮助,
因为我也刚毕业没满一年嘛,所以分享中有什么错误的话,希望大家指正,我们共同进步!今天我给大家带来的springmvc中最简单的也是大家可能会比较迷茫的部分:springmvc
请求中绑定模型数据并返回视图的一些方法。
下面这个例子就是springmvc中我们常用处理请求的方式,这些基本就能满足我们日常的开发了。
@Controller
@RequestMapping("/demo/")
public class DemoAction {

	@RequestMapping("model")
	public String say(Model model){
		model.addAttribute("wen", "vbvv");
		return "demo";
		
	}
	
	@RequestMapping("list")
	public ModelAndView list(){
		ModelAndView mv = new ModelAndView("list");
		mv.addObject("one","ddddddd").addObject("two", "rrrrrrrrrr");
		return mv;
	}
	
	@RequestMapping("modelmap")
	public String say2(ModelMap model){
		model.addAttribute("wen", "ddddvbgfff");
		return "demo";
		
	}
	
	@RequestMapping("modelmap2")
	public String say3(){
		return "redirect:modelmap.action";
		
	}
	
	@RequestMapping("modelmap3")
	public ModelAndView say4(){
		
		return new ModelAndView("redirect:list.action");
	}

}


在以上这个例子中,前三个方法是url请求后,绑定数据返回至视图中(下面我们都用jsp代表视图,因为这里的视图有很多比如:jsp,velocity等等),
第二个方法我想大家都能理解,首先构建一个ModelAndView对象,list是代表返回页面的物理逻辑名,addObject方法就是在这个对象中绑定(添加)需要返回到页面中的数据。可能大家比较有疑惑的就是第一个和第三个方法,在方法参数中一个Model对象,一个是ModelMap对象。其实,这两个对象的作用都是一样的,就是把需要返回到页面的数据绑定在这两个对象中。其实在底层调用的都是BindingAwareModelMap对象,这个类继承ExtendedModelMap,而ExtendedModelMap集成ModelMap并实现Model,那大家肯定会想为什么在方法中的参数中放入这两个对象,就能绑定数据并返回到页面中呢,这个其实是springmvc的处理机制。大家要是有兴趣可以去看源码或者看官方文档。一般来说,可以利用这三种方式绑定数据并返回到页面中。用过servlet开发的朋友们肯定会想到一个问题,如果我要重定向,springmvc能够处理吗?答案是肯定的,在该例子的后两个方法就是介绍springmvc中重定向方法,其实是很简单的,大家一看就能明白。接下来有一个问题希望大家去思考下,struts2和springmvc处理请求的方式的区别,还有strtus2和springmvc中调用request和response的方法有哪些,有何不同,为何不同,希望大家好好思考,对于我们理解struts2和springmvc有很大的帮助,接下来我会给大家分享关于springmvc中参数的传递,已经spring和第三方的框架的集成的一些知识,另外大家可以一起讨论sshi框架的一些用法及对它们的理解哦,尤其是我们这些刚参加工作不久的童鞋们哦。
http://docs.spring.io/spring/docs/4.0.5.RELEASE/spring-framework-reference/htmlsingle/#mvc springmvc的官方文档,有兴趣的朋友们可以去看看哦,又能学到知识又能提高英语
水平,何乐不为呢?赶紧行动吧!
0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics