如何服务 Spring-对 JSP 视图的休息响应
How To Serve Spring-Rest Response To JSP View
嗨,我不知道这个问题是否正确,但我怀疑这就是我发布这个问题的原因。
如果我使用@RestController,那么我可以将我的响应直接写入 HTTP 响应对象。但是,我想对 JSP 做出回应。如何响应 JSP?请帮我解决这个问题,我搜索并阅读了很多博客和网站,但仍然没有得到任何澄清。 #inWhosebug How to use Spring 4 Rest Controller to serve for Jsp view? 我得到了这个,但是在这里
有人问了同样的问题,这里建议他们使用@Controller代替@RestController JSP View.
@Controller:这个Annotation在Spring2.5版本中引入。为了支持 WEB 服务,spring 人使用 @ResponseBody 和 @Controller ,如果你使用 @ResponseBody 那么你可以直接将响应写入 Http Response。后来
@RestController:这个Annotation在Spring4.0版本引入,简单的不用@Controller+@ResponseBody可以用@RestController.
所以,最终在@RestController 的帮助下,我们可以将响应直接写入 HTTP 响应对象。此回复,我想发送到 JSP 查看。
我知道,通过使用 ajax 我们可以做到。但如果我使用 ajax,我只能将每个回复都放入同一页面。
在这里,如果我想将 JSP 与 Spring-Rest 的组合用于视图,
我怎样才能将我的回复传递给 jsp 视图。
请帮帮我。
您不应该将 RestController 用于 return 一个 jsp 页面,将您的注释更改为 @Controller 并使您的函数 return 成为一个 jsp 页面。
如果您需要提供休息服务和 return jsp,请参考
按照Quissal说的去做。
使用 rest 控制器,您的 return 类型通常是某种用于序列化的对象(例如 json),而不是 jsp 页面
要创建 Web 应用程序,您必须使用 @controller 和 jsp 映射。
网上有很多例子,比如:
http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example-annotation/
使用@Controller注解,在ModelMap中设置数据,returnString(应该是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>
嗨,我不知道这个问题是否正确,但我怀疑这就是我发布这个问题的原因。
如果我使用@RestController,那么我可以将我的响应直接写入 HTTP 响应对象。但是,我想对 JSP 做出回应。如何响应 JSP?请帮我解决这个问题,我搜索并阅读了很多博客和网站,但仍然没有得到任何澄清。 #inWhosebug How to use Spring 4 Rest Controller to serve for Jsp view? 我得到了这个,但是在这里 有人问了同样的问题,这里建议他们使用@Controller代替@RestController JSP View.
@Controller:这个Annotation在Spring2.5版本中引入。为了支持 WEB 服务,spring 人使用 @ResponseBody 和 @Controller ,如果你使用 @ResponseBody 那么你可以直接将响应写入 Http Response。后来
@RestController:这个Annotation在Spring4.0版本引入,简单的不用@Controller+@ResponseBody可以用@RestController.
所以,最终在@RestController 的帮助下,我们可以将响应直接写入 HTTP 响应对象。此回复,我想发送到 JSP 查看。
我知道,通过使用 ajax 我们可以做到。但如果我使用 ajax,我只能将每个回复都放入同一页面。
在这里,如果我想将 JSP 与 Spring-Rest 的组合用于视图, 我怎样才能将我的回复传递给 jsp 视图。
请帮帮我。
您不应该将 RestController 用于 return 一个 jsp 页面,将您的注释更改为 @Controller 并使您的函数 return 成为一个 jsp 页面。
如果您需要提供休息服务和 return jsp,请参考
按照Quissal说的去做。
使用 rest 控制器,您的 return 类型通常是某种用于序列化的对象(例如 json),而不是 jsp 页面
要创建 Web 应用程序,您必须使用 @controller 和 jsp 映射。
网上有很多例子,比如: http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example-annotation/
使用@Controller注解,在ModelMap中设置数据,returnString(应该是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>