js中使用EL表达式

 

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表达式. 如:

  1. <script type="text/javascript">  
  2. $(function () {  
  3. new BacklogOverview("${param.alert}");  
  4. });  
  5. </script>  

2.JS代码是单独的.js 文件, 通过引入到 JSP中来,这时候可通过提前定义JS变量的形式的解决,如:

  1. <c:set var="contextPath" value="${pageContext.request.contextPath}" scope="application"/>  
  2. <script>  
  3. <%--JS gloable varilible--%>  
  4. var contextPath = "${contextPath}";  
  5. </script>  


在JSP页面上定义JS变量 contextPath.

这样在之后引入的JS文件中就可以使用contextPath变量了.

  1. //Image setting  
  2. config.filebrowserImageUploadUrl = contextPath + "/ckeditor/upload.htm";  

    另一个例子,用js控制,用到了el表达式,最开始源码如下:

Java代码  

  1. var selected = ${requestScope.xxxxForm.recordNumPerPage}  

,这样始终js错误,因为在第一次的时候requestScope.xxxxForm.recordNumPerPage为null。于是在boss的指导下,简单的加了两个引号,代码变成

Java代码  

  1. var selected = “${requestScope.xxxxForm.recordNumPerPage}”  

,ok,功能自动实现。 

关键总结:在js中使用el表达式一定要使用双引号

原文地址:https://www.cnblogs.com/limeiky/p/5321423.html