0
我在想,是否可以通过编程方式生成ModelAndView的输出,而不是通过控制器的返回参数。例如: 我有以下方法返回一个编译的HTML:Spring MVC:以编程方式生成ModelAndView
@RequestMapping(value = "/get-list", method = RequestMethod.GET, headers = BaseController.AJAX_HEADER)
public ModelAndView getList(@RequestParam(value = "page", required = true) Integer page,
@ActiveUser User activeUser) {
ModelAndView result = null;
try {
result = new ModelAndView("administration/events-log/list");
result.addObject("events", eventsLogService.getList(page, Config.RECORDS_PER_PAGE));
}
catch (Exception e) {
log(e, activeUser.getUsername());
}
return result;
}
我要的是创造这样的事情:
@RequestMapping(value = "/get-list", method = RequestMethod.GET, headers = BaseController.AJAX_HEADER)
public @ResponseBody HashMap<String, Object> getList(@RequestParam(value = "page", required = true) Integer page,
@ActiveUser User activeUser) {
HashMap<String, Object> json = new HashMap<String, Object>();
try {
json.put("error", 0);
ModelAndView result = new ModelAndView("administration/events-log/list");
result.addObject("events", eventsLogService.getList(page, Config.RECORDS_PER_PAGE));
json.put("content", result);
}
catch (Exception e) {
/**/
}
return json;
}
以便将sended回JSON对象客户将看: {'错误':0,'内容':compiled_html}
任何想法?谢谢
我该如何调用JSP呈现器? – nKognito 2013-05-02 10:51:09
@nKognito它比听起来复杂得多。对于每个'jsp'都会生成一个java类。此类负责将内容写入响应。细节有点依赖于服务器。该类的名称可以是'org.apache.jsp.WEB_002dINF.myjsp_jsp'例如你将不得不知道以什么顺序调用哪些方法。 – zeroflagL 2013-05-02 11:24:31
但它只是jsp,我的意思是没有任何模型参数......好吧,据我所知这是不可能的。不管怎么说,还是要谢谢你! – nKognito 2013-05-02 12:37:09