thymeleaf在js中使用问题
初学thymeleaf,在js中使用时遇到些问题。
发现在js中使用var name = [[${user.username}]];在浏览器会报错
可能是把中括号解析成数组了
在网上查了下,看到这种做法,

测试了之后发现,只要有这个<script th:inline="javascript">就可以正常解析var name = [[${user.username}]];替换与否不影响,特殊需求除外,但是,有个前提:js代码必须写在html里,不能写在js文件中外联
下面是真正的问题:
下面是浏览器解析后的js代码部分:

结果如图:

js中 $("#msg").html("您还没有登陆,请点击<a href='/'>登陆</a>");并没有替换掉html代码,而是清空了
js是jquery3.2.1版本
发现在js中使用var name = [[${user.username}]];在浏览器会报错

可能是把中括号解析成数组了
在网上查了下,看到这种做法,

测试了之后发现,只要有这个<script th:inline="javascript">就可以正常解析var name = [[${user.username}]];替换与否不影响,特殊需求除外,但是,有个前提:js代码必须写在html里,不能写在js文件中外联
下面是真正的问题:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<head>
<meta charset="UTF-8" />
<title>demo--index</title>
<link th:href="@{css/myCss.css}" type="text/css" rel="stylesheet"/>
<script type="text/javascript" th:src="@{js/jquery-3.2.1/jquery.js}"></script>
<!--<script th:inline="javascript" th:src="@{js/index.js}" type="text/javascript"></script>-->
<script th:inline="javascript" type="text/javascript">
$(function (){
// var name = /*[[${user.username}]]*/null;
var name = [[${user.username}]];
console.info("name="+name);
console.info(name==undefined||name==null||name=="");
if(name==undefined||name==null||name==""){
console.info("修改前:"+$("#msg").html());
$("#msg").html("您还没有登陆,请点击<a href='/'>登陆</a>");
console.info("修改后:"+$("#msg").html());
}
$("#msg").show();
});
</script>
</head>
<body>
<div id="msg" hidden="hidden">
My first springBoot project<br/>
恭喜<span th:text="${user.username}" class="span" id="username"></span>,登录成功
</div>
</body>
</html>下面是浏览器解析后的js代码部分:

结果如图:

js中 $("#msg").html("您还没有登陆,请点击<a href='/'>登陆</a>");并没有替换掉html代码,而是清空了
js是jquery3.2.1版本
...全文
相关推荐
spring boot thymeleaf 整合 百度Ueditor 集成demo
spring boot thymeleaf 整合 百度Ueditor 集成demo 解决文件上传遇到的后端配置项没有正常加载,上传插件不能正常使用!
SpringBoot页面跳转访问css、js等静态资源引用无效解决.docx
【SpringBoot页面跳转访问css、js等静态资源引用无效解决】 解释:SpringBoot项目默认访问根目录有三个分别是: /resources :系统默认的根路径 /static :所有静态资源文件如js、css、jpg、html等文件是可以直接访问的 /templates :此目录下的文件是不可以直接访问的,需要经过控制器才可以跳转的
spring boot 2.x html中引用css和js失效问题及解决方法
主要介绍了spring boot 2.x html中引用css和js失效,需要的朋友可以参考下
Curso-Spring-Boot-MVC:Curso Spring Boot com MVC和Thymeleaf da Udemy
Curso Spring Boot MVC Curso Spring Boot com MVC和Thymeleaf da Udemy
Springboot访问templates下的html页面,CSS,JS失效
Springboot访问templates下的html页面,CSS,JS失效。 此模板适用于PC和移动端


Web 开发

