代码之家  ›  专栏  ›  技术社区  ›  OddDev

带弹簧的AngularJ视图:未显示

  •  0
  • OddDev  · 技术社区  · 8 年前

    所以我有一个简单的应用程序AngularJs和Spring mvc。我有一个映射到angularJs页面的控制器,我在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", []);
    

    控制器。js(简体中文):

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

    当我用 枢轴(Pivotal) 有人愿意解释一下吗?

    非常感谢。 编辑

    Web配置。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

    URL: http://localhost:8080/gestionprojet/Project/angularjs

    我的控制器:

    @RequestMapping("/angularjs")
    public String getAngularJs() {
        return "AngularJs";
    }
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   JB Nizet    8 年前

    首先,您的文件位于/WEB-INF/resources下,但您已经将spring配置为从/resource加载静态资源。所以他们根本就不能被招待。配置应为

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

    您页面的URL是

    /gestionprojet/Project/angularjs
    

    applications.js
    

    因此浏览器查找JS文件的相应绝对路径为

    /gestionprojet/Project/applications.js
    

    /gestionprojet 是应用程序的上下文路径,绝对URL应为

    /gestionprojet/resources/applications.js
    

    因此,JSP中的源代码应该是

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