如何将代码放入外部javascript文件中?
我有一个外部javascript文件,该文件在我的html文件中声明,带有以下标记:如何将代码放入外部javascript文件中?,javascript,thymeleaf,Javascript,Thymeleaf,我有一个外部javascript文件,该文件在我的html文件中声明,带有以下标记: <script type="text/javascript" th:inline="javascript" th:src="@{/js/gp-aprobarDocumento.js}"></script> 因此,当执行该功能时,窗口警报显示为空 有人知道如何在外部javascript中使用thymeleaf表达式吗?我想你想做什么是不可能的,我有一个类似的问题(这里:) 但在您的情况下
<script type="text/javascript" th:inline="javascript" th:src="@{/js/gp-aprobarDocumento.js}"></script>
因此,当执行该功能时,窗口警报显示为空
有人知道如何在外部javascript中使用thymeleaf表达式吗?我想你想做什么是不可能的,我有一个类似的问题(这里:) 但在您的情况下,您可以这样做: 在html中:
<script type="text/javascript" th:inline="javascript" >
var alertVariable = ${link.menu.page-certificacion-qa-bandeja-entrada};
</script>
我知道这不是你真正想要的,但我有同样的问题,我认为没有任何解决办法。通过DOM: 如果希望从Thymeleaf对象创建JS变量,可以将该对象添加到DOM中。我最近做了一个项目,将查询结果返回给List类型的Java对象,并通过Spring控制器将该对象添加到DOM中
//Deliver Results Array to the DOM
model.addAttribute("myResult", myResult);
将此对象添加到ThymalLeaf模板模型后,您可以通过以下方式在HTML中访问它:
th:text="${myResult}"
您也可以在Javascript中引用它,只需从DOM中引用模型对象的名称。我无法让变量填充到单独的JS文件中,而不使其在HTML文件的作用域中全局化,具体如下:
<script th:inline="javascript">
var myResult = [[${myResult}]];
</script>
所讨论的对象必须能够从DOM中引用。使用AJAX和创建通过HTTP向客户机返回数据的控制器可能会有更好的性能。似乎thymeleaf 3还有其他解决方案:
希望这有帮助 这对我很有效。在我的
index.html
中:
<script th:inline="javascript">
/* variable used by index.js */
var referenceId = [[${referenceId}]];
</script>
<script type="text/javascript" th:src="@{/js/index.js}">
</script>
希望这有帮助。当然可以
您不能将Thymeleaf模板代码放入外部JavaScript文件中,但可以使用html中的模板片段将JavaScript代码放入html模板中的一对标记中
在/template
文件夹中创建一个新的HTML文件“gp aprobarDocumento.HTML”,将函数放入脚本中,并将/**/
替换为“
ventanaAprobacion=功能(td)
{
IDENTERGABLE=$(td).attr(“数据行id”);
idVersion=$(td.attr(“数据行版本”);
警报(“la siguiente viene con el texto dle properties”);
警报(“[${link.menu.page certificacion qa bandeja entrada}]]”;
$(函数(){
$(“#对话框一个文档”)。对话框(“打开”);
});
}
并在html文件中添加一个th:replace
标记
<script th:inline="javascript">
var myResult = [[${myResult}]];
</script>
$(function(){
//Get Thymeleaf DOM Object
console.log(myResult);
});
<script th:inline="javascript">
/* variable used by index.js */
var referenceId = [[${referenceId}]];
</script>
<script type="text/javascript" th:src="@{/js/index.js}">
</script>
function doSomething() {
$.ajax({
type: 'GET',
url: '/api/' + referenceId ,
contentType: 'application/json',
beforeSend: beforeSend
})
}