Spring 和 Thymeleaf:如何将 javascript 移动到单独的.js文件
Spring and Thymeleaf: How to move javascript to a separate .js file
示例:
这行得通
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head lang="en">
<meta charset="UTF-8"/>
<title></title>
</head>
<body>
<button th:onclick="'javascript:sayHello(''hello'')'">Say Hello</button>
</body>
<script>
function sayHello(text) {
alert(text);
}
</script>
</html>
但是,如果我将js移动到文件hello.js在同一文件夹中,则脚本不起作用。
我尝试像这样嵌入:
<script type="text/javascript" th:src="@{hello.js}"></script>
像这样:
<script type="text/javascript" src="hello.js"></script>
我做错了什么?
假设你使用的是 Spring Boot 的默认配置,你应该有你的 thymeleaf 文件src/main/resources/templates/
所以你应该把 javascript 文件放在:
/src/main/resources/static
说明:您的构建工具(Maven 或 Gradle)将复制应用程序类路径中/src/main/resources/
的所有内容,并且正如 Spring Boot 文档中所写的那样,类路径中名为 /static
的目录中的所有内容都将作为静态内容提供。
此目录也可以工作,但不鼓励这样做:
/src/main/webapp/
不要使用 src/main/webapp 目录,如果你的应用程序将是 包装成罐子。虽然这个目录是一个通用标准,但它 只能与战争包装一起使用,并且会被默默忽略 大多数构建工具,如果你生成一个 jar。
根据 Spring Boot 文档,静态资源是从/static、/public 或类路径外提供的。
http://docs.spring.io/spring-boot/docs/1.2.0.RELEASE/reference/htmlsingle/#boot-features-spring-mvc-static-content
还简要提到了如何重新加载静态内容和模板文件。
http://docs.spring.io/spring-boot/docs/1.2.0.RELEASE/reference/htmlsingle/#howto-reload-static-content
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 正在将Visual Studio 2012 JavaScript Intellisense标记移动到单独的文件
- 是否可以将此javascript代码(或其中的一部分)移动到单独的文件中,而不是内联
- 如何将.js从视图移动到单独的资产 - Ruby On Rails
- 我将此代码移动到一个单独的函数中,它停止工作,为什么
- 将javascript移动到单独的文件中,ajax调用会出现错误
- 将内联 Youtube API JavaScript 代码移动到单独的文件
- 谷歌应用脚本 - 将一些功能移动到单独的文件中
- 将反应移动到没有 Node 的单独组件文件中
- Spring 和 Thymeleaf:如何将 javascript 移动到单独的.js文件
- 在 Rails 中为桌面和移动访问者提供单独的 js 代码
- 如何将内部HTML脚本移动到单独的Javascript
- Html5和Css如何创建单独的ul-li并移动<旁白>向左
- 使用Webpack为移动设备和桌面设备单独捆绑
- 将React类移动到单独的文件中
- 如何移动TinyMCE javascript初始化设置到单独的文件
- 移动谷歌地图api代码到单独的文件+ jquery
- 当将代码作为单独的函数移动时,在末尾出现意外输入
- 在我的asp.net-mvc文件中,如何将我的javascript移动到一个单独的js文件中
- 将事件处理程序移动到单独的文档