2017-02-22 62 views
0

我已经开发了一个简单的网页与angularjs和弹簧框架。angularjs路由与弹簧框架

我试图使用角度路由使网页,使网页作为SPA工作。

这是我简单的主要jsp文件。当我访问Chrome上的'http://localhost:8080/test'时会显示该页面。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<%@ page session="false" contentType="text/html; charset=UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
<title>Home</title> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-route.min.js"></script> 

<script> 
    angular.module("app", ['ngRoute']) 
     .config(function($routeProvider) { 
      $routeProvider.when("/home", { 
       templateUrl: "home.html", 
       controller: "controller" 
      }) 
     }) 
     .controller("controller", function() { 

     }); 
</script> 
</head> 

<body ng-app="app" ng-controller="controller as main"> 
    <ul> 
     <li><a href="#/home">HOME</a></li> 
    </ul> 

    <ng-view></ng-view> 
    <div ng-view></div> 
</body> 

</html> 

我想把home.html<ng-view><div class="ng-view">当我点击不刷新页面的“家”的链接,但它不工作。

代码有什么问题?

回答

1

为了得到它的工作,以href="#!home"

变化href="#/home"此外,还要确保home.html是在/src/main/resources/static/目录

我宁愿使用.html与Thymeleaf代替.jsp

Integrating JSP with AngularJS, Is it a concern in real world...Beginer in Angular JS

https://spring.io/blog/2015/08/19/migrating-a-spring-web-mvc-application-from-jsp-to-angularjs

+0

你是一个救星!对我有用。感谢您的回答。 :) – hshan

+0

为什么我应该用'#!home'代替?我找到的所有文件都说'#/ home'。 – hshan

+0

这个问题是由于字符编码使URL html安全。我进行了测试,对于这种情况这很好。如果你发现让我知道 –