1、首先解释一下你的疑问,为何取不到最新的session值。
javascript是无法获取服务器session中的值的。js只是脚本语言,session是jsp里的对象。
使用el表达式获取值,是在编译jsp的时候完成的。编译完成后,就发送到浏览器了。浏览器执行的html页面中的值是固定的。
function readSession(){
var data = "123"; //编译jsp的时候,el表达式获取值${sessionScope.macData}已经被替换成具体的值了
}
所以,以后无论多少次获取data,都是123。你可以在浏览器中右键查看生成的html页面,就明白了。
2、如何解决这个问题。
可以将macData的值,已json或xml或纯文本的方式发送给前台。使用ajax的方式获取。
这里假设你使用了json的方式, response.getWriter().print("{ macData: 具体的值 } ");
jquery代码:
function loadData(){
$.get("请求url",function(result){
$("#content").html(result.macData);
});
}