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

解决方案 »

  1.   

    javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以你不能用js来改变已经执行的el表达式的值,但是却可以用el来给js初始化传值,这和JSP脚本是一样的效果,但是如果JS脚本不是在JSP页面里而是在单独的JS文件里,这时用EL初始传值是不起作用的,但你可以通过window.onload()来得到EL的值再传送给JS文件里的方法进行变量初始化
      

  2.   

    在jsp里面取出来,作为参数传到JS文件里对应的的函数就行了。
      

  3.   

    你可以把js写在jsp文件中
    然后在需要引用这个文件的jsp里加上
    <jsp:include page="包含js的jsp文件" />