我正在使用Spring和AngularJS来构建一个网站。我的服务位于localhost:8080/service/*
我希望所有不是以/service/开头的URL都重定向到index.html,这样我就可以在Angular中完成所有路由。
因此,如果用户键入以下url,Spring会将其发送到index.html
localhost:8080/products
localhost:8080/products/343848
localhost:8080/contact
localhost:8080/jdfndf
有人能和我分享一下怎么做吗?我发现这篇帖子是别人基本上问同样的问题,但他们从来没有得到明确的答案。使用AngularJS 配置Spring MVC
我是Spring和AngularJS的新手,但我找不到任何资源来解释这一点。
很抱歉误解了您的问题。:)
正如我从评论中看到的,你必须创建一个单页应用程序。
为了达到你想要的结果,你必须使用ng路线,ng视图。
你必须做类似的事情:
<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路由
请仔细阅读本教程,希望你能了解如何做到这一点。