如何将spring ModelAndView对象属性注入到角度模块中?
我的应用程序使用SpringMVC和apache velocity。现在我要将Angularjs控制器添加到*.vm文件(velocity文件)。我发现在访问Spring控制器返回的ModelAndView对象中设置的对象时出现问题 有人能给我一个简单的例子说明如何做同样的事情吗 例如: Controller.java如何将spring ModelAndView对象属性注入到角度模块中?,spring,angularjs,code-injection,modelandview,Spring,Angularjs,Code Injection,Modelandview,我的应用程序使用SpringMVC和apache velocity。现在我要将Angularjs控制器添加到*.vm文件(velocity文件)。我发现在访问Spring控制器返回的ModelAndView对象中设置的对象时出现问题 有人能给我一个简单的例子说明如何做同样的事情吗 例如: Controller.java ModelAndView mav = ControllerUtil.createModelView(); String dataSource = Constant.DATA_SO
ModelAndView mav = ControllerUtil.createModelView();
String dataSource = Constant.DATA_SOURCE;
HttpSession session = (HttpSession) mav.getModel().get("httpSession");
**mav.addObject("dataSource", dataSource);**
请举例说明如何在AngularJS模块内获取“dataSource”值。
提前感谢,,
DBKnot团队我对velocity不太熟悉,但我正试图找到一种方法来完成您似乎想要做的事情 我目前正在探索(测试)这种方法。用于将对象解析为字符串。这可以在控制器上完成,也可以通过自定义标记在JSP中完成 例如:
ObjectMapper jsonMapper = new ObjectMapper();
String result = null;
try {
result = jsonMapper.writeValueAsString(obj);
} catch (Exception e) {
// Handle it
}
**mav.addObject("dataSource", result);**
在HTML/JSP/which上
<div ng-controller="MyCtrl" ng-init="init(${dataSource})">...</div>
。。。
并让控制器的init方法处理其余部分
注意
像往常一样,您应该阅读文档,AngularJS建议应该通过AJAX请求初始化模型,而不是从DOM获得(这里就是这样)
我希望看到替代方案需要注意的一点是,这种策略非常脆弱。如果您的数据源中有引号/双引号,您可能会遇到麻烦。我对SpringMVC了解不多,但这个主题相关吗?