0
我有一个项目使用Spring和Angular JS。 当我尝试删除ungly “/#/”,我也跟着下面的教程:Spring和Angular JS HTML5模式与抽象路由
在我的索引HTML文件:
<base href="/">
我AngularJS配置
:
app.config(
function ($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise("/");
.state('business', {
abstract: true,
url: "/",
templateUrl: "business/businessView"
})
.state('business.intro1', {
url: "/intro1",
templateUrl: "business/page-1",
})
$locationProvider.html5Mode({enabled: true)};
}
);
所以为了支持资源,我在我的弹簧控制器中添加了以下JAVA代码:
@RequestMapping(value = "/{[path:[^\\.]*}")
public String redirect() {
return "forward:/";
}
@RequestMapping("/business/**")
public String returnBusinessHtml() {
String uri = request.getRequestURI().substring(request.getContextPath().length());
return uri;
}
并直接访问URL时成功避免了404问题。
一切看上去不错但就目前而言,当我添加URL以angularJS的抽象控制器:
.state('business', {
abstract: true,
url: "/business",
templateUrl: "business/businessView"
})
404问题又出来了,当我试图访问localhost:8080/business/intro1
。
如果我尝试其他页面,如localhost:8080/businessLanding
,这没关系。
也许问题出自@RequestMapping(value = "/{[path:[^\\.]*}")
这个正则表达式?请帮忙,谢谢!