我正在开发基于Spring MVC的基于Java的Web应用程序。现在在这个应用程序中,我正在尝试集成AngularJS框架,以获得模块化客户端代码,并且还可以解耦我的客户端站点模式和视图。
在Spring MVC中,我们从控制器返回ModelAndView,在这里我试图将这个返回的视图与AngularJS路由器模块一起使用。
var hmAdministration = angular.module('administration', ['ngRoute']);
hmAdministration.config(function ($locationProvider, $routeProvider) {
$locationProvider.html5Mode(true);
$routeProvider.
when("AngularJSSpringMVC/displayRoleList", {templateUrl: "AngularJSSpringMVC/displayRoleList"});
});
现在 AngularJSSpringMVC / displayRoleList 是一个绑定到控制器API的URL,它返回
ModalAndView。
现在根据我的理解,此处返回的视图应放在我的 <ng-view></ng-view>
标记处。
当我运行这个代码完整的客户端它正在工作,但现在尝试这个代码与SpringMVC集成,似乎仍然需要连接大量的点。
答案 0 :(得分:0)
首先,AngularJS 始终运行complete client side
。
你没有指定你的错误,所以我在这里猜测,根据我自己在将Angular与MVC视图集成时的经验。
请注意,浏览器上的地址应如下所示:
http://yourserveraddress/#/AngularJSSpringMVC/displayRoleList
#
很重要,它区别于Angular路由和MVC路由(在服务器中完成)。上面的地址将加载您的索引页面,您的角度代码应该在其中,这将处理#
之后的路线并使其全部工作。
如果您希望在ng-view
上加载MVC视图的内容,那就是对了。
建议使用角度不同的足够路线,这样就不会容易混淆,这样的事情可能会更简单:
$routeProvider.
when("displayRoleList", {
templateUrl: "AngularJSSpringMVC/displayRoleList"
});
所以你的网址是http://yourserveraddress/#/displayRoleList
。
我希望这会有所帮助,如果我错过了标记,请分享更多代码。