Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 手动渲染ModelAndView?_Ajax_Json_Spring Mvc - Fatal编程技术网

Ajax 手动渲染ModelAndView?

Ajax 手动渲染ModelAndView?,ajax,json,spring-mvc,Ajax,Json,Spring Mvc,我需要在控制器中手动呈现ModelAndView,以便将其放入JSON对象中。如果我将整个ModelAndView对象传递到JSON,我将找不到类JavassistLazInitializer异常的序列化程序,因为jackson不能正确处理惰性对象。 多谢各位 ModelAndView返回ModelAndView=新建ModelAndView新建JSONView,模型 谢谢你的回复。我找到了另一个ViewResolver-MappingJacksonJsonView。但无法配置它。它说解析器不在

我需要在控制器中手动呈现ModelAndView,以便将其放入JSON对象中。如果我将整个ModelAndView对象传递到JSON,我将找不到类JavassistLazInitializer异常的序列化程序,因为jackson不能正确处理惰性对象。 多谢各位


ModelAndView返回ModelAndView=新建ModelAndView新建JSONView,模型

谢谢你的回复。我找到了另一个ViewResolver-MappingJacksonJsonView。但无法配置它。它说解析器不在应用程序上下文中运行,但我在配置文件中添加了它。有什么想法吗?谢谢。问题是,对于懒惰的收集,它失败了。所以我试图找到任何手动视图渲染的解决方案。然后,我将它作为StringFactory no放入JSON对象中。我需要的是能够从控制器返回一些JSON结构,其中一个字段将是ModelAndView对象。您的解决方案允许这样做吗?您可以发布整个帖子,包括导入定义和配置吗?谢谢。实际上从配置和整个部分都有点长。。。如果你坚持的话,我可以把它写在我的博客上。。。否则在这里发帖会很复杂。。。因为有DAO实现和服务层与控制器的集成???
public class JSONView implements View {
    /**
     * Logger for this class
     */
    private static final Logger logger = Logger.getLogger(JSONView.class);

    private String contentType = "application/json";

    public void render(Map map, HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    if(logger.isDebugEnabled()) {
        logger.debug("render(Map, HttpServletRequest, HttpServletResponse) - start");
    }

    JSONObject jsonObject = new JSONObject(map);
    PrintWriter writer = response.getWriter();
    writer.write(jsonObject.toString());

    if(logger.isDebugEnabled()) {
        logger.debug("render(Map, HttpServletRequest, HttpServletResponse) - end");
    }
    }

    public String getContentType() {
    return contentType;
    }

}