嗨,我不知道这个问题与否,但我怀疑这就是为什么我发布了这个问题。
如果我使用@RestController,那么我可以将我的响应直接写入HTTP Response对象。但是,我想为JSP提供响应。如何为JSP提供此响应?请帮帮我,我搜索并阅读了这么多博客和网站,但我还没有得到任何澄清。 #inSTACKOVERFLOW How to use Spring 4 Rest Controller to serve for Jsp view?我得到了这个,但是在这里 有人提出同样的问题,这里提出的建议是代替@RestController使用@Controller for JSP View。
@Controller:这个Annotation在Spring2.5版本中引入。对于支持WEB服务,春天人们使用@ResponseBody和@Controller,如果你使用@ResponseBody那么你可以直接将响应写入Http Response。后来
@RestController:这个Annotation在Spring4.0版本中引入,而不是使用@ Controller + @ ResponseBody,你可以使用@RestController。
所以,最后在@RestController的帮助下,我们可以直接将响应编写到HTTP响应对象中。这个Response,我想发送到JSP View。
我知道,通过使用ajax我们可以做到。但如果我使用ajax,我只能将每个响应都放到同一页面中。
在这里,如果我想在Spring-Rest的组合中使用JSP作为View, 我如何将我的响应传递给jsp视图。
请帮帮我。
答案 0 :(得分:1)
您不应该使用RestController返回jsp页面,将注释更改为@Controller并使您的函数返回jsp页面。
如果您需要提供Rest服务并返回jsp,请参阅this answer
答案 1 :(得分:0)
按照Quissal的说法做好准备。
使用rest控件,你的返回类型通常是序列化的某种对象(比如json)而不是jsp页面
要执行Web应用程序,您必须使用@controller和jsp映射。
网上有很多例子,例如: http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example-annotation/
答案 2 :(得分:0)
使用@Controller批注,并在ModelMap中设置数据并返回String(应为jsp名称)
控制器:-
@Controller
@RequestMapping("/product")
public class ProductController {
@RequestMapping(method == RequestMethod.GET)
public String getProduct(ModelMap model) {
//get details from db and set to modelmap, testing hardcoded product name
model.addAttribute("productName", "toys");
return "productDetails";
}
Jsp页面以如下方式访问模型数据
productDetails.jsp
<html>
<head>
<body>
<h2>${productName}</h2>
</body>
</head>
</html>