SSM框架的注解配置文件的优劣取舍(8)

Map

@RequestMapping("/demo2/show") public Map<String, String> getMap() { Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value-1"); map.put("key2", "value-2"); //在jsp页面中可直通过${key1}获得到值, map.put()相当于request.setAttribute方法。 return map; }

String
指定返回的视图页面名称。如果方法还声明了注解@ResponseBody ,则会直接将返回值输出到页面

@RequestMapping("/getAllArticle") public String getAll(HttpServletRequest request,Model model){ List<Article> article = this.articleService.getAll(); model.addAttribute("news", JSON.toJSONStringWithDateFormat(article,"yyyy-MM-dd HH:mm"));//参数可在jsp页面获得 return "showNews";//返回showNews.jsp }

json

@RequestMapping("/getAllArticle") public String getAll(){ List<Article> article = this.articleService.getAll(); return JSON.toJSONStringWithDateFormat(article,"yyyy-MM-dd HH:mm")); } }

void
如果返回值为空,则响应的视图页面对应为访问地址

@RequestMapping("/index") public void index() { return; //对应的逻辑视图名为"index" }




Controller中url的几种风格

RequestMapping()

普通的url

这种是最简单的url映射,可以接收到localhost:8080/contextName/hello这样的请求

@RequestMapping("/hello") public @ResponseBody String test() { return "hello!"; }

多个普通的url路径
RequestMapping可以同时指定多个url,映射到同一个应答逻辑中:

@RequestMapping(value={"/multi1","/multi2","/test/multi"}) public @ResponseBody String multiUrl() { return "test multi url"; }

基于路径变量的URL映射
这种URL映射可以直接在路径上指定变量,通过@PathVariable可以获得对象。

//基本的URL模板映射 @RequestMapping(value="/user1/{name}") public @ResponseBody String basicUrl1(@PathVariable String name){ return "hello"+name; } @RequestMapping(value="/user2/{name}/test") public @ResponseBody String basicUrl2(@PathVariable String name){ return "hello"+name+"test"; } @RequestMapping(value="/user1/{name}/test/{age}") public @ResponseBody String basicUrl3(@PathVariable String name,@PathVariable int age){ return "hello"+name+" age"+age; }

本文永久更新链接地址

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13278.html