Thymeleaf将ajax返回值中拼接外部标签和 js中获取session值及 在普通标签中获取session值

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36688143/article/details/79446395

一、Thymeleaf普通标签中获取session值

<p th:text="${session.test}"></p>

① th:text: Thymeleaf的标签都要加th:作前缀

② <p></p>: 表示一个段落,可以用来换行


二、Thymeleaf在js中获取session值

后台代码中

        @RequestMapping(value = "/index")
	public String mkdirs(HttpServletRequest request) {
		HttpSession session  = request.getSession();
		session.setAttribute("test", "测试专用!");
		return "login";
	}


前端中:

① th:inline="javascript": 表示可以使用内联js,即使用[[  ]]取值

② ${session.test}: 要使用session作前缀获取值

③ console.log():F12,然后在控制台的Console下输出提示信息

        <script th:inline="javascript">
		/*<![CDATA[*/  
   		 var message = [[${session.test}]];  
   		 console.log(message);  
  		 alert(message);
		/*]]>*/ 
 	</script>


三、Thymeleaf将ajax返回值中拼接外部标签

html中

<p id="prompt"></p>
                                success:function(msg){
					console.log(msg);
					if (msg.code == 100) {
						window.location.href = "mkdirs";
						//刷新当前页
	     				        //window.location.href = window.location.href.replace(/#/g,'');
					} else {
						 $('#prompt').text(msg.map.loginPrompt).attr("class","test");  
					}
				 },
				 error:function(XMLHttpRequest, textStatus, errorThrown) {
					 alert(XMLHttpRequest.status);
					 alert(XMLHttpRequest.readyState);
					 alert(textStatus);
				 }

① Window.location.href = "页面名称" : 跳转页面,因为配置文件默认后缀配了.html

     Window.location.href = window.location.href.replace(/#/g,''):刷新当前页

② $('#prompt').text("要拼接的值").attr("拼接的属性","拼接的属性值") : 根据id去拼接

③ error:function (XMLHttpRequest, textStatus, errorThrown){} 释义:这是一个 Ajax 事件。(默认: 自动判断 (xml 或 html)) 请求失败时调用时间。

 参数有以下三个:

        XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象:
 XMLHttpRequest.readyState: 状态码的意思
 0 - (未初始化)还没有调用send()方法
 1 - (载入)已调用send()方法,正在发送请求
 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
 3 - (交互)正在解析响应内容
 4 - (完成)响应内容解析完成,可以在客户端调用了

如果发生了错误,错误信息(第二个参数)除了得到null之外,textStatus的可能值: "timeout", "error", "notmodified" 和 "parsererror"。 

        发送error可能有下面两种引起的,或者其他程序问题。
 1、data:"{}", data为空也一定要传"{}";不然返回的是xml格式的,并提示parsererror。

 2、parsererror的异常和Header 类型也有关系。即编码header('Content-type: text/html; charset=utf8');


展开阅读全文

没有更多推荐了,返回首页