我使用AngulaJS作为javascript客户端,spring mvc作为rest后端。在AngulaJS中,我使用ui-router。
这是config.js文件
function config($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/index");
$stateProvider
.state('trains', {
url: "/trains",
templateUrl: "views/pages/trains.html",
data: {
pageTitle: 'Trains'
}
})下面是html文件(left-sliderbar.html
<li ui-sref-active="active">
<a href="javascript:;" ui-sref="trains" title="the trains">Trains </a>
</li> 问题是,当我点击左侧滑块中的"Trains“菜单时,我无法获得Spring MVC的Rest后端中的方法的请求映射。下面是来自Spring MVC的控制器的代码
@RequestMapping("/trains")
public String getTrainPartialPage(ModelMap modelMap) {
System.out.println("---------Request Mapping: /trains: " + this.getClass());
return "pages/trains";
}请帮我解决一下,我想用ui-router而不是ngRoute,谢谢
发布于 2015-04-08 20:49:11
function config($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/index");
$stateProvider
.state('trains', {
url: "/trains",
data: {
pageTitle: 'Trains'
},views: {
'content@': {
templateUrl: "views/pages/trains.html",
controller: 'TrainsController'
}
}
})而且您需要在服务或TrainsController中实现rest调用。
发布于 2015-11-25 23:57:04
在同样的背景下,我也遇到了同样的问题。
我认为您应该尝试在$stateProvider提供程序中使用templateUrl: "views/pages/trains"而不是templateUrl: "views/pages/trains.html"。
后端控制器应该公开此请求映射:
@RequestMapping(value = "/train")
public ModelAndView getMain() {
return new ModelAndView("pages/train");
}注意:使用ModelAndView而不是String作为返回对象(不适用于String,实际上我不知道为什么)。
Angular UI Router将在url中写入/train,Spring将提供映射到/train路由上的html文件。
希望能帮到你。
https://stackoverflow.com/questions/29202434
复制相似问题