在js或者jquery里可以使用el表达式吗?

JavaScript011

在js或者jquery里可以使用el表达式吗?,第1张

不可以的,el表达式是jsp页面中使用的。

编程的注意事项:

1、refactoring的基本方法就是每一步小小变化,每一步测试。

2、如果发现需要为一个程序添加一个特性,而代码结构使你无法很方便的那么做,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性。

3、最好首先把成员变量和函数定义为private。随着软件开发的进一步深入,当其他类对该类提出"额外"的请求,你慢慢地放宽保护。

4、如果一个代码片断能够有独立意图的行为,那么不管它的大小,可能是一个简单的表达式,都应该有独立的方法,但如果没有这样清晰的意图,再多的代码都可以在一个方法里面.

1. JS代码在JSP页面中, 这可以直接使用EL表达式. 如:

[html] view plain copy

<script type="text/javascript">

$(function () {

new BacklogOverview("${param.alert}")

})

</script>

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

[html] view plain copy

<c:set var="contextPath" value="${pageContext.request.contextPath}" scope="application"/>

<script>

<%--JS gloable varilible--%>

var contextPath = "${contextPath}"

</script>

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

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

[html] view plain copy

//Image setting

config.filebrowserImageUploadUrl = contextPath + "/ckeditor/upload.htm"

js控制中用到了el表达式,最开始源码如下:

var selected = ${requestScope.xxxxForm.recordNumPerPage}

这样始终js错误,因为在第一次的时候requestScope.xxxxForm.recordNumPerPage为null。

于是在boss的指导下,简单的加了两个引号,代码变成

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

功能自动实现。

附上整个函数代码:

function getSelected(name){  

  var selects = document.getElementsByName(name)  

  var selected =  “${requestScope.xxxxForm.recordNumPerPage}"  

  if(selected == undefined || selected == null || selected ==""){  

    return false  

  }  

  for(var j = 0 j < selects.length j++ ){  

     for(var i = 0 i = selects[j].length i++){  

       if(selects[j].options[i].value == selected){  

         selects[j].options[i].selectd = true  

       }   

     }  

  }       

}

总之,在js中使用el表达式一定要使用双引号。