gpt4 book ai didi

javascript - AngularJS(路由)在Eclipse中的Maven SpringBoot项目中找不到.html模板

转载 作者:行者123 更新时间:2023-12-02 05:30:08 25 4
gpt4 key购买 nike

我正在使用 Spring Boot 学习 AngularJS。我创建了一个 SpringBoot 项目并将其导入到 Eclipse 中,并且在不编写任何 Java 代码的情况下尝试使 AngularJS 前端模板与路由一起使用。我在项目中包含了必要的 Angular 脚本,并且我正在按照 w3schools 和 spring 网站上的教程中的方式进行所有操作。如果我仅使用 html 和 js 而不使用任何 IDE 创建一个非常简单的应用程序,那么相同的代码可以正常工作,但在 Eclipse 中会失败。

Eclipse中的项目目录:

-src/main/java
|-com.package
|---Application.java
|---ViewController.java
-src/main/resources
|---static
|-----app
|------app.module.js
|-----angular-route.min.js
|-----angular.min.js
|-----angular.min.js.map
|-----style.css
|---templates
|-----first.html
|-----index.html
|-----main.html
|-----second.html

index.html 中的导航:

<body ng-app="app">
<header class="header">
<a ng-href="#/!">Main</a>
<a ng-href="#!first">First</a>
</header>
<div>
<ng-view></ng-view>
</div>
</body>

app.module.js

var app = angular.module('app', ['ngRoute']);

app.config(function($routeProvider) {
$routeProvider
.when('/', {
template: 'main.html'
})
.when("/first", {
templateUrl: "first.html"
})
.when('/second', {
templateUrl: 'second.html'
})
.otherwise({redirectTo: '/'});
});

就像 app.config 中的第一条路线一样,如果我使用 template 而不是 templateUrl ,它在每种情况下都会正常工作。

对于每个 .html 模板,它们都包含一些虚拟代码,例如:

<p>first</p>

当我检查开发工具时,在“网络”选项卡中,我可以看到 404 作为模板请求的响应。在控制台中我可以看到如下错误消息。

Error: "[$templateRequest:tpload] http://errors.angularjs.org/1.7.8/$templateRequest/tpload?p0=%2Fsrc%2Fmain%2Fresources%2Ftemplates%2Ffirst.html&p1=404&p2="

从 AngularJS 网站我了解到这意味着路径有问题。我尝试修改路径,如 "/first.html""./first.html""/templates/first.html" 但结果是一样的。

我不明白问题是什么。任何帮助将不胜感激。

编辑:我认为添加 ViewController.java 的代码可能会有用:

@Controller
public class ViewController {

@RequestMapping("/")
public String index() {
return "index";
}

}

感谢您的任何建议。

最佳答案

一切工作正常 - 我的意思是导航 - 一旦我将所有 html 文件移动到 Eclipse 项目内的 src/main/resource/static 文件夹中。

所以项目结构应该是这样的:

-src/main/java
|-com.package
|--Application.java
|--ViewController.java
-src/main/resources
|-static
|--app
|----app.module.js
|--angular-route.min.js
|--angular.min.js
|--angular.min.js.map
|--first.html
|--index.html
|--main.html
|--second.html
|--style.css
|-templates

关于javascript - AngularJS(路由)在Eclipse中的Maven SpringBoot项目中找不到.html模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56206538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com