js获取ModelAndView值的问题

Springmvc中使用ModelAndView传值

1 return new ModelAndView(url).addObject(CommonConstant.PAGE_KEY, page)
2                 .addObject("logObj", logObj);

这里要获取logObj的值可以直接用${logObj}取值.

如果在js中获取值的话, 需要加 ' ' 表示这是一个字符串.否则js报错未定义.

js取值

1     var selectValue;
2     selectValue='<%=request.getAttribute("logObj")%>'; 或者selectValue='${logObj}';    

jsp取值

<input type="text" id="selectID3" name="selectID3" value="${logObj}" />

此外在js中如想不添加'' 也可在ModelAndView.addObjet时,将值转为字符串.

1 .addObject("logObj", JSON.toJSONString(logObj));

 如此对应前台需改为

js取值

1 var selectValue;
2 selectValue=${logObj};  

jsp取值

<input type="text" id="selectID3" name="selectID3" value=${logObj} />

这里.addObject("logObj", logObj);和.addObject("logObj", JSON.toJSONString(logObj));的区别未知.可能与ModelAndView的解析有关.

问题发生的版本为spring-web 3.1

这版本还有已知的bug,如@RequestBody Object o可以方便将json请求和用户定义的对象o进行转换,

而转换的过程中的面对属性为空或者属性名不一致的情况下,会被统一被封装为400/415.

在springweb3.2才开始支持在@RequestBody中对Object中对属性require 和不为空的属性设置.

原文地址:https://www.cnblogs.com/redcoatjk/p/5889380.html