使用java servlet webapp上下文路径实现angular-ui-router

时间:2014-09-03 17:10:15

标签: angularjs servlets web-applications angular-ui-router

基本上,当重新加载页面时,问题与路径ui-router重定向有关。

我有一个带有上下文kiosk-ui的java应用程序,所以网址为:http://localhost:8080/kiosk-ui

客户端使用angularjs实现,对于url管理我使用angular-ui-router。该应用程序是一个单页应用程序,所以我有州。

这是ui-router配置。

.config(function ($stateProvider, $urlRouterProvider) {

        $stateProvider

            .state("rewards", {
                url: "/",
                controller: 'RewardsCtrl',
                templateUrl: 'templates/reward-selection.tpl.html'
            })            

        $urlRouterProvider.otherwise("/");
    })

在初次加载页面时,我被重定向到http://localhost:8080/kiosk-ui/#/,但当我刷新页面时,路由器会将我重定向到http://localhost:8080/#/。所以它以某种方式跳过了webapp上下文路径。

我尝试以不同的方式配置路由器,因此我也会发布该场景。

.config(function ($stateProvider, $urlRouterProvider) {

            $stateProvider

                .state("rewards", {
                    url: "/kiosk-ui",
                    controller: 'RewardsCtrl',
                    templateUrl: 'templates/reward-selection.tpl.html'
                })            

            $urlRouterProvider.otherwise("/kiosk-ui/");
        })

在页面的初始加载中,我被重定向到http://localhost:8080/kiosk-ui/#/kiosk-ui。 当我刷新页面时,它仍然会将我重定向到同一个网址,但这不是我想要的。

我想拥有http://localhost:8080/kiosk-ui/#/并在刷新时留在那里......

提前致谢

1 个答案:

答案 0 :(得分:0)

使用public static String addCommas(String num) { return new DecimalFormat("#,###").format(Integer.parseInt(num, 10)); } 元素。您可以使用服务器端模板引擎编写正确的<base>

http://www.verdantrefuge.com/writing/2013/angularjs-changing-app-path-base-element/