日期:2014-05-18  浏览次数:20576 次

单独js文件中不能用el表达式
[size=13px]今天碰到一个很奇怪的问题,我把一个变量放到request范围中,在单独的js文件中 var a='${xx}';这样a的值为字符串${xx}
但是在页面中,var a='${xx}'取到的则是实际的值,这是怎么回事?怎么在单独的js文件中取得request范围中的值呢。[/size]

------解决方案--------------------
javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以你不能用js来改变已经执行的el表达式的值,但是却可以用el来给js初始化传值,这和JSP脚本是一样的效果,但是如果JS脚本不是在JSP页面里而是在单独的JS文件里,这时用EL初始传值是不起作用的,但你可以通过window.onload()来得到EL的值再传送给JS文件里的方法进行变量初始化
------解决方案--------------------
是的 肯定不可以 你只能当做方法的参数传递进去 之前我也遇到了 只能这个样子才能解决
------解决方案--------------------
在jsp里面取出来,作为参数传到JS文件里对应的的函数就行了。