js中使用el表达式

JavaScript08

js中使用el表达式,第1张

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表达式一定要使用双引号。

1、在原JSP页面中将这些值封装进hidden域,然后传给js文件

比较直接的一种做法,但在后期维护时候可能会引起歧义(例如过一段时间后看JSP页面时候不知道这些hidden是干嘛的了)

2、我认为比较好的一种方式,在JSP页面中先声明一个<script></script>,在其中将你要传递的EL表达式作为全局变量写入,然后再导入外部JS代码

不可以的,el表达式是jsp页面中使用的。不过在es6中,推出了一种模板字符串,可以通过``符号来创建一个字符串,在这个模板字符串中也可以使用el表达式。

比如:

var name = 'jack'

var str = `hello, ${name}`

console.log(str)

这时,就会打印出'hello,jack'。