我使用Spring MVC,我有一个方法控制器:
@RequestMapping(value = "/listReader", method = RequestMethod.POST)
public @ResponseBody
List<Reader> getListReader(ModelMap model) {
return libraryService.getAllReaders();
}
但我不知道:
getListReader
获取@ResponseBody
)? @ResponseBody
获取列表?请举个例子。
答案 0 :(得分:3)
你做不到。 @ResponseBody
基本上告诉Spring:将对象I(方法)返回并使用任何支持它的序列化程序并将其直接写入HTTP响应的主体。 这里没有涉及JSP。
相反,您应该将列表添加到模型中并返回JSP的String
视图名称。
@RequestMapping(value = "/listReader", method = RequestMethod.POST)
public String getListReader(ModelMap model) {
model.addAttribute("someKey", libraryService.getAllReaders());
return "my-jsp";
}
然后你可以在JSP中使用EL来检索它
<h3>${someKey}</h3>
使用JSTL迭代它。
答案 1 :(得分:0)
@RequestMapping(value = "/listReader", method = RequestMethod.POST)
定义端点。
我建议使用RequestMethod.GET
而不是RequestMethod.POST
,因为您需要服务器中的某些内容而不是服务器POSTING
。
另一方面,如果要在JSP上使用该信息,有两种方法:
1)某些视图可能会通过http-GET
- jQuery中的$.get请求或ajax来使用该信息。获得数据后,您可以将其插入HTML
2)您可以直接在页面上显示ajax
,而不是使用Expression Language
。
然后,您必须将列表放入Model,您可以使用@ResponseBody
在JSP上访问该列表。然后,您必须删除{{1}}并返回相应的视图。