1
我需要在我的控制器中手動呈現ModelAndView以便將其放入JSON對象中。如果我將整個ModelAndView對象傳遞給JSON,我會得到「沒有找到類javassistlazyinitializer的序列化程序」異常,因爲jackson無法正常使用LAZY對象。 謝謝手動渲染ModelAndView?
我需要在我的控制器中手動呈現ModelAndView以便將其放入JSON對象中。如果我將整個ModelAndView對象傳遞給JSON,我會得到「沒有找到類javassistlazyinitializer的序列化程序」異常,因爲jackson無法正常使用LAZY對象。 謝謝手動渲染ModelAndView?
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;
}
}
ModelAndView returnModelAndView = new ModelAndView(new JSONView(), model);
感謝您的答覆。我發現了另一個ViewResolver - MappingJacksonJsonView。但不能配置它。是說解析器不在應用程序上下文中運行,但我將它添加到配置文件中。有任何想法嗎?謝謝 – nKognito
問題是,懶惰集合失敗。所以我試圖找到手動視圖渲染的任何解決方案。然後,我把它作爲字符串將它放入JSON對象 – nKognito
你試過我的例子嗎? – hossaindoula