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:[^\\.]*}")
這個正則表達式?請幫忙,謝謝!