EL表达式 在jsp中或者js中使用注意事项
来源:互联网 发布:奔奔数码 淘宝 编辑:程序博客网 时间:2024/05/16 14:51
EL(Expression Language), EL表达式使用’${标识符}’表示,可用在所有的HTML和JSP标签中,作用是代替JSP页面中复杂的JAVA代码。
1、 在js中如何使用EL表达式
因为EL表达式是在服务端解析完成的,而js是在客户端解析完成的,因此,处理的方法比较特殊,现给出两种处理方式。
方法一:直接在JSP中引入js脚本
直接在JSP中加入js脚本<script></script>,在<script></script>之间调用EL表达式是可以成功调用的。
(补充知识点:在引入js脚本时,最好不要用<script />,这样的话之后的引入的js脚本可能会有问题)
方法二:在jsp隐藏EL设置的值,并通过js进行获取(间接方法)
比如:在jsp页面中设置如下:
<input type=”hidden” id=”sex” value=”${sex}” />
在相应的js文件中,通过如下:
var sex = $(“#sex”).val();
获取相应的EL的值。
2、 在js中使用EL表达式一定要使用双引号(双引号出错时用单引号),即:“${标识符}”
在EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符作为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应的对象,找不到则返回“”(注意:是空字符串,不是null,此时如果不加双引号,则会报错,只有加入双引号才能正确返回,当然也可以加单引号)。
有一个问题是:如果加了双引号,则返回的原本是json对象,会自动转为字符串,因此,如果要作为json对象处理,需要,在js中添加如下代码:
var jsonStr = “${obj}”;eval('('+ jsonStr +')');
3、 EL中获取session中的一个属性值
比如:在Java代码中设置如下:
request.getSession().setAttribute("session_in_username", "tim");
然后在JSP页面中获取如下参数:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><div class="header-box"> <div class="site-header"> <a href="/index.jsp" class="logo fl" title="******"></a> <div class="user-msg fr"> <a href="javascript:;" title="首页" id="homePage">首页</a> <!-- <a href="####" title="帮助文档">帮助文档</a> --> <a href="####">欢迎 <span>${sessionScope['session_in_username'] }</span> </a> <a href="javascript:;" id="logout" title="退出">[退出]</a> </div> </div></div>
通过命令:${sessionScope[‘session_in_username’]}
注意:
在EL表达式中的${sessionScope.session_in_username}和${sessionScope[‘session_in_username’]}的用法是一样的,推荐用中括号,另外推荐用双引号将其扩起来,比如:”${sessionScope[‘session_in_username’]}”
- EL表达式 在jsp中或者js中使用注意事项
- EL表达式在js文件中使用
- el表达式在js中引用的注意事项
- jsp中使用EL表达式并且在js中使用该值需要注意的地方
- 如何在外部JS中使用EL表达式或者c标签产生的值
- JSP中使用EL表达式
- EL表达式分别在jsp和js中
- js 中使用el表达式 关键总结:在js中使用el表达式一定要使用双引号
- js 中使用el表达式 关键总结:在js中使用el表达式一定要使用双引号
- 在jsp页面中使用EL表达式无法解析spring mvc中Model或者ModelAndView传的值
- js 中使用el表达式
- js 中使用el表达式
- js 中使用el表达式
- JS中使用EL表达式
- js中使用el表达式
- JS中使用EL表达式
- js中使用el表达式
- JS中使用EL表达式
- 今日头条——校招在线编程题《字典序》
- 无线充电:特斯拉的沃登克里弗塔
- 基于Tensorflow的机器学习(6) -- 卷积神经网络
- java中的length
- centos6 更新glibc-2.14
- EL表达式 在jsp中或者js中使用注意事项
- Ubuntu安装CUDA报错:/usr/lib/nvidia-375/libEGL.so.1 不是符号连接
- 智力大冲浪(贪心)
- 【BZOJ】1512 [POI2006]Pro-Professor Szu 强联通分量+拓扑
- MAT安装及使用教程
- Servlet 技术简介
- 网页注册登录(三)
- myeclipse控制台报某jar包里某个类找不到,查看该jar包是否引入
- Hadoop实战(3)_虚拟机搭建CDH的全分布模式