0

コントローラーの戻りパラメーターを介さずに、ModelAndView の出力をプログラムで生成することは可能でしょうか。例: コンパイル済みの html を返す次のメソッドがあります。

@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;
    }

したがって、クライアントに送り返される JSON オブジェクトは {'error': 0, 'content':compiled_html} のようになります。

何かご意見は?ありがとうございました

4

1 に答える 1