Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
如何将spring ModelAndView对象属性注入到角度模块中?_Spring_Angularjs_Code Injection_Modelandview - Fatal编程技术网

如何将spring ModelAndView对象属性注入到角度模块中?

如何将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

我的应用程序使用SpringMVC和apache velocity。现在我要将Angularjs控制器添加到*.vm文件(velocity文件)。我发现在访问Spring控制器返回的ModelAndView对象中设置的对象时出现问题

有人能给我一个简单的例子说明如何做同样的事情吗

例如: Controller.java

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了解不多,但这个主题相关吗?