Spring Restful Service将所有url重定向到index.html



我正在使用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路由

请仔细阅读本教程,希望你能了解如何做到这一点。

最新更新