Java 如何在JSP中从@ResponseBody获取列表?
我使用Spring MVC,我有一个方法控制器:Java 如何在JSP中从@ResponseBody获取列表?,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我使用Spring MVC,我有一个方法控制器: @RequestMapping(value = "/listReader", method = RequestMethod.POST) public @ResponseBody List<Reader> getListReader(ModelMap model) { return libraryService.getAllReaders(); } @RequestMapping(va
@RequestMapping(value = "/listReader", method = RequestMethod.POST)
public @ResponseBody
List<Reader> getListReader(ModelMap model) {
return libraryService.getAllReaders();
}
@RequestMapping(value=“/listReader”,method=RequestMethod.POST)
公共@ResponseBody
列表getListReader(ModelMap模型){
返回libraryService.getAllReaders();
}
但我不知道:
- 如何在JSP中使用list(我从方法
通过getListReader
获得的list)李>@ResponseBody
- 如何在JSP中获取列表李>
- 如何在JSP页面中显示列表李>
- 如何在JSP中从
获取列表@ResponseBody
请举个例子。你不能
@ResponseBody
基本上是在告诉Spring:获取对象I(方法)return并使用支持它的任何序列化程序,然后将其直接写入HTTP响应的主体这里不涉及JSP。
相反,您应该将列表添加到模型中,并返回JSP的字符串视图名称
@RequestMapping(value = "/listReader", method = RequestMethod.POST)
public String getListReader(ModelMap model) {
model.addAttribute("someKey", libraryService.getAllReaders());
return "my-jsp";
}
然后您可以在JSP中使用EL来检索它
<h3>${someKey}</h3>
${someKey}
使用JSTL对其进行迭代
@RequestMapping(value = "/listReader", method = RequestMethod.POST)
定义端点的。
我建议使用RequestMethod.GET
而不是RequestMethod.POST
,因为您希望从服务器获得一些东西,而不是将一些东西发布到服务器。
另一方面,如果要在JSP上使用该信息,有两种方法:
1) 一些视图可以通过一个httpget
-请求来使用这些信息,比如jQuery或。获取数据后,可以将其插入HTML中
2) 您可以直接在页面上显示它,而不用ajax
。
然后,您必须将列表放入一个列表中,您可以使用表达式语言
在JSP上访问该列表。然后您必须删除@ResponseBody
并返回相应的视图。您的jsp如何请求SpringMVC?返回的媒体类型是什么?