我正在使用Spring和AngularJS来构建一个网站。我在localhost提供服务:8080 / service / *
我希望所有不以/ service /开头的网址重定向到index.html,以便我可以在Angular中完成所有路由。
因此,如果此人键入任何类型的URL,则Spring将它们发送到index.html
localhost:8080/products
localhost:8080/products/343848
localhost:8080/contact
localhost:8080/jdfndf
有人可以与我分享如何做到这一点?我发现这篇文章是其他人基本上问同样的问题,但他们从来没有得到一个明确的答案。 Configure Spring MVC with AngularJS
我是Spring和AngularJS的新手,但我找不到任何资源来解释这一点。
答案 0 :(得分: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
请完成本教程,希望您能了解如何操作。