如果jsp页面中这样写:
——————————————————————————
<script type="text/javascript">
function test(){
var isLogin = ${ sessionScope.user != null };
var name = ${ sessionScope.user.name};
var id = ${sessionScope.user.id};
if(isLogin){
alert(name);
}
}
</script>
——————————————————————————
实际传送到浏览器的是下面这样:
——————————————————————————
<script type="text/javascript">
function test(){
var isLogin = true;
var name = qq;
var id = 123;
if(isLogin){
alert(name);
}
}
</script>
——————————————————————————
可见,EL表达式的结果会直接赋值给定义的var。
${ sessionScope.user.name}计算得到的qq直接赋给var name,然而JavaScript中字符串要用引号括起来,否则JavaScript会把它当做一个变量,所以要想给var name 正确赋值qq,需要编写脚本时候将EL表达式用引号括起来,
”${ sessionScope.user.name}”。
其他如布尔、数值则无需这样做。