AngularJs View 与 Spring : Not showing

标签 angularjs spring tomcat model-view-controller

所以我有一个简单的应用程序 AngularJs 和 Spring mvc。我有一个映射到 angularJs 页面的 Controller ,我在 jsp 页面中有这段代码:

<div ng-app="myApp" ng-controller="myCtrl">
<p>The name is <span ng-bind="person.lastName"></span></p>
{{ lastName }}
</div>

<script src="applications.js"></script>
<script src="controllers.js"></script>

应用程序.js :

var app = angular.module("myApp", []);

controllers.js :

app.controller("myCtrl", function($scope) {
$scope.firstName    = "John";
$scope.lastName= "Doe";
});

当我使用 Pivotal 运行它时,它不会运行,但是当我直接在浏览器中访问该文件时,它就像一个魅力,有人愿意解释一下吗?

谢谢。 编辑

WebConfig.java :

public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {

    registry.addResourceHandler("/resources/**")
    .addResourceLocations("/resources/");
}

@Override 
public void configureDefaultServletHandling ( DefaultServletHandlerConfigurer configurer ) 
{ 
    configurer.enable(); 
} 
}

资源文件夹:

Resources folder

网址: http://localhost:8080/gestionprojet/Project/angularjs

我的 Controller :

@RequestMapping("/angularjs")
public String getAngularJs() {
    return "AngularJs";
}

最佳答案

首先,你的文件在/WEB-INF/resources下,但是你配置了spring从/resources加载静态资源。所以他们根本无法服务。配置应该是

registry.addResourceHandler("/resources/**")
        .addResourceLocations("/WEB-INF/resources/");

您的网页的网址是

/gestionprojet/Project/angularjs

您的页面尝试使用相对路径加载脚本

applications.js

所以浏览器查找JS文件对应的绝对路径是

/gestionprojet/Project/applications.js

这与您选择从中提供静态资源的 URL 不匹配。假设/gestionprojet是应用程序的上下文路径,绝对URL应该是

/gestionprojet/resources/applications.js

所以JSP中的源代码应该是这样

<script src="${pageContext.request.contextPath}/resources/applications.js"></script>

关于AngularJs View 与 Spring : Not showing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39064474/

相关文章:

javascript - AngularJS 在 ng-repeat 循环中保留临时值

java - 如何在 Spring Boot 应用程序中手动注册非标准化 SQL 函数?

java - ParameterizedTypeReference 的正确用法

java - 不确定使用 Spring 加载 SELECT 对象的正确方法

java - 为同一个 HTTP 请求多次调用 Servlet doGet 方法

android - GCM 演示服务器 - 指定消息

javascript - Angular JS Material Design : one mdDialog, 多个模板

javascript - ngClass 样式,键中有变量

Tomcat 7 管理器 - 命令被禁用

javascript - 当应用 CSS 省略号并且 offsetwidth 不断返回 0 时,用于使文本出现在工具提示中的 Angular 指令?