Rumah > Soal Jawab > teks badan
这个是直接对应 index
模型
java
@RequestMapping(value = "/") public String index(Map<String, Object> map) { map.put("title", ""); map.put("keywords", ""); map.put("description", ""); return "index"; }
这个是直接返回 index
字符串
java
@RequestMapping(value = "/") @ResponseBody public String index(Map<String, Object> map) { map.put("title", ""); map.put("keywords", ""); map.put("description", ""); return "index"; }
能不能在方法中控制他返回对应 index
模型还是返回 index
字符串
就是这2个合并
也就是 @ResponseBody
能不能只用在其他地方
如果是下面这样,他会把 title
keywords
description
直接加在 /login/
地址栏直接显示,怎么让他不显示,直接就是 跳转到 /login/
java
@RequestMapping(value = "/") public String index(Map<String, Object> map) { map.put("title", ""); map.put("keywords", ""); map.put("description", ""); return "redirect:/login/"; }
ringa_lee2017-04-17 13:12:21
感觉ResponseEntity可以解决题主的问题,但并不推荐这样做,下面只是一个例子。
@RequestMapping("/entity")
@ResponseBody
public ResponseEntity<String> handle(HttpEntity<byte[]> requestEntity) throws UnsupportedEncodingException {
System.out.println(requestEntity.getHeaders().getFirst("MyRequestHeader"));
System.out.println(Arrays.toString(requestEntity.getBody()));
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.set("MyResponseHeader", "MyValue");
return new ResponseEntity<>("Hello World", responseHeaders, HttpStatus.CREATED);
}
代码乱乱的,写着不顺心,改着还闹心。
不如用headers区分一下,同一个URL不同headers映射到不同方法。
比如:
@RequestMapping(value = "/",method = RequestMethod.GET, produces = MediaType.APPLICATION_XML_VALUE,headers = {"a=1"})
public String index(Map<String, Object> map) {
map.put("title", "");
map.put("keywords", "");
map.put("description", "");
return "index";
}
@RequestMapping(value = "/",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE,headers = {"a=1"})
@ResponseBody
public Map indexJson(Map<String, Object> map) {
map.put("title", "");
map.put("keywords", "");
map.put("description", "");
return map;
}