2015-12-15 37 views
1

我使用Spring和AngularJS構建網站。我有我的服務在本地主機:8080 /服務/ *Spring Restful Service將所有網址重定向到index.html

我希望所有不以/ service /開頭的URL重定向到index.html,以便我可以在Angular中執行所有路由。

因此,如果人類型,如下面的彈簧將其發送的任何鏈接到index.html的

localhost:8080/products 
    localhost:8080/products/343848 
    localhost:8080/contact 
    localhost:8080/jdfndf 

可有人請與我分享如何做到這一點?我發現這篇文章是其他人基本上提出同樣的問題,但他們從來沒有得到明確的答案。 Configure Spring MVC with AngularJS

我是Spring和AngularJS的新手,但是我找不到解釋這個的任何資源。

回答

0

對不起,您的問題是錯誤的。 :)

正如我從評論中看到的,你必須創建一個單頁面應用程序。

爲了達到您想要的效果,您必須使用ng-route,ng-view。

你有類似的措施:

<head> 
    <script src="script.js"></script> 
</head> 
<body ng-app="single-page-app"> 
<div ng-controller="Controller"> 
<div> 
<nav> 
    <ul> 
    <li><a href="#/">Home</a></li> 
    <li><a href="#/product/{id}">View product</a></li> 
    </ul> 
</nav> 
</div> 
<br/> 
<div ng-view> 
<!-- 
This DIV loads templates depending upon route. 
--> 
</div> 
</div> 
</body> 
</html> 

的JS腳本應該是這樣的:

(function(){ 
var routerApp = angular.module("CustomRouter", ['ui.router', 'App']); 

routerApp.config(function($stateProvider, $urlRouterProvider) { 
    $urlRouterProvider.otherwise('/home'); 

    $stateProvider.state('default', { 
     url : '/home', 
     templateUrl : 'index.html', 
     controller : 'HomeBodyController' 
    }).state('product', { 
     url : '/product/:productId', 
     controller : 'ProductController' 
    }) 
}); 

})(); 

這僅僅是一個例子。未經測試。

Angular JS能夠路由。 Angular Js routing

請通過本教程希望你會得到如何做到這一點。

+0

嗨NewUser,我按照你所有的代碼和我的設置非常相似,但我仍然錯過了這裏的主要想法。在頂部,你會說:「我認爲你總是回到主頁」,不,我不是,那就是我想要做的。我只是改變了我的使用* .Json爲我的控制器,那麼如何讓我的服務器使用index.html,無論哪個url被輸入,除了那些具有.Json的? –

+0

@Justin交叉哦!你是說你需要瀏覽json網址嗎? – NewUser

+1

不,我想要任何不包含.json的url來運行index.html頁面。 * .json路徑通過從我的數據庫返回json正常工作,但我只是不知道如何使其他請求運行index.html –

相關問題