JS中使用EL表达式
版权声明:本文为博主原创文章,未经博主允许不得转载。
EL(Expression Language)表达式的主要作用是访问存放在某个范围中的值, 将值的内容(或者值的属性值)打印到JSP页面,所以说运用EL的最终目的就是:将范围中的值打印到JSP页面
EL目的:为了使JSP写起来更加简单,使JSP页面尽可能少的存在JAVA代码!
EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能。脚本编制元素是指能够在 JSP 页面中嵌入 Java 代码的元素。它们通常用于对象操作以及执行那些影响所生成内容的计算。JSP 2.0 将 EL 表达式添加为一种脚本编制元素,脚本编制元素:就是编写脚本的元素,就是编写JAVA代码的元素,在这里EL替代了JAVA代码的作用
JavaBean与EL表达式:
脚本编制元素EL:使用EL表达式可以简洁地读出JavaBean的属性值
js中使用EL表达式,分两种情况
1. JS代码在JSP页面中, 这可以直接使用EL表达式. 如:
- <script type="text/javascript">
- $(function () {
- new BacklogOverview("${param.alert}");
- });
- </script>
2.JS代码是单独的.js 文件, 通过引入到 JSP中来,这时候可通过提前定义JS变量的形式的解决,如:
- <c:set var="contextPath" value="${pageContext.request.contextPath}" scope="application"/>
- <script>
- <%--JS gloable varilible--%>
- var contextPath = "${contextPath}";
- </script>
在JSP页面上定义JS变量 contextPath.
这样在之后引入的JS文件中就可以使用contextPath变量了.
- //Image setting
- config.filebrowserImageUploadUrl = contextPath + "/ckeditor/upload.htm";
另一个例子,用js控制,用到了el表达式,最开始源码如下:
Java代码
- var selected = ${requestScope.xxxxForm.recordNumPerPage}
,这样始终js错误,因为在第一次的时候requestScope.xxxxForm.recordNumPerPage为null。于是在boss的指导下,简单的加了两个引号,代码变成
Java代码
- var selected = “${requestScope.xxxxForm.recordNumPerPage}”
,ok,功能自动实现。
关键总结:在js中使用el表达式一定要使用双引号