示例:
这有效
<!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>
我做错了什么?
答案 0 :(得分:8)
假设您使用的是Spring Boot的默认配置,您应该在src/main/resources/templates/
中找到您的百万富翁文件,因此您应该将javascript文件放入:
/src/main/resources/static
解释:您的构建工具(Maven或Gradle)将复制应用程序类路径中/src/main/resources/
的所有内容,并按照Spring Boot's docs中的说明复制来自/static
的所有内容
/src/main/webapp/
的目录将作为静态内容提供。
这个目录也可以,但不鼓励:
{{1}}
如果您的应用程序是,请不要使用src / main / webapp目录 打包成一个罐子。虽然这个目录是一个通用标准,但它 只会与战争包装一起使用,它将被默默地忽略 如果你生成一个jar,大多数构建工具。
答案 1 :(得分:1)
根据Spring Boot文档,静态资源是从/ static,/ public或类路径提供的。
还简要提到了如何重新加载静态内容和模板文件。