springMVC基础(注解).docx
文本预览下载声明
常用注解元素@Controller????????标注在Bean的类定义处@RequestMapping真正让Bean具备Spring MVC Controller功能的是@RequestMapping这个注解@RequestMapping可以标注在类定义处,将Controller和特定请求关联起来;还可以标注在方法签名处,以便进一步对请求进行分流???配套的属性有:?? value需要跳转的地址?? method基于RestFul的跳转参数,有RequestMethod.get ?post? put? delete等? ?params符合某个参数的时候才调用该方法? ?Headers符合头信息的时候才调用?@SessionAttributes????????将结果放入session内@ModelAttribute存储在响应内容ModelMap或者ModelAndView进行保存值传到前台,当如果你需要保存值比较少的时候可以采用这种方式进行保存值并且保存到前台显示?在默认情况下,ModelMap中的属性作用域是request级别,相当于HttpServletRequest中的request.setAttribute()一样,在JSP视图页面中通过request.getAttribute(“attribute name”)或者通过${ attribute name } EL表达式访问模型对象中的属性对象?如果希望在ModelMap 的作用域范围为 session,可以有选择地指定 ModelMap 中的哪些属性需要转存到 session 中,以便下一个请求属对应的 ModelMap 的属性列表中还能访问到这些属性。这一功能是通过类定义处标注@SessionAttributes注解来实现如:?@Controller@RequestMapping(/login.do)@SessionAttributes(currUser) ??public class BbtForumController {。。。。。}??@ResponseBody????????标注后?返回String对象的结果为response内容体,不标注的话?作为dispatcher url使用?@PathVariable??允许将请求路径的制定内容当做求情的参数使用返回类型请求处理方法入参的可选类型??? ??????????????????????????????????????????????说明void? ????????????????????????????????????此时逻辑视图名由请求处理方法对应的URL确定,如以下的方法:@RequestMapping(/welcome.do)public void welcomeHandler() {}对应的逻辑视图名为“welcome”?String??????? ???????????????????????????此时逻辑视图名为返回的字符,如以下的方法:@RequestMapping(method = RequestMethod.GET)public String setupForm(@RequestParam(ownerId) int ownerId, ModelMap model) {???? Owner owner = this.clinic.loadOwner(ownerId);???? model.addAttribute(owner);???? return ownerForm;}?????????????????????????????????????????????对应的逻辑视图名为“ownerForm”?ModelMap???????? ??????????????????和返回类型为void一样,逻辑视图名取决于对应请求的URL,如下面的例子:@RequestMapping(/vets.do)public ModelMap vetsHandler() {???? return new ModelMap(this.clinic.getVets());}?对应的逻辑视图名为“vets”,返回的ModelMap将被作为请求对应的模型对象,可以在JSP视图页面中访问到。ModelAndView????????? ???? ???返回方式1使用无返回方法跳转,如果使用返回方法进行跳转的话,则会通过视图解析器进行以prefix(前缀)+方法名+suffix(后缀)组成的页面文件名称.?2使用一个返回的字符串方法作为跳转,使用字符串跳转的话好处就是在return的时候可以自己指定返回的名字,JSP组成是prefix(前缀)+返回的字符串+suffix(后缀)?3返回一个ModelAndView类型,使
显示全部