打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
js文件中使用el表达式问题

单独js文件不能用EL表达式

首先,JSP是由服务端执行的,EL表达式自然也由服务端解析执行,因此,如果EL所在的脚本在JSP页面内,它是可以获取到值的,这个值在服务器端返回到浏览器端时已经解析完毕,浏览器端只是呈现而已,但是如果在单独的JS文件中写EL,会怎么样呢?这个时候是无法获取的,因为javascript是客户端执行,单独的JS文件不在服务器的解析执行之中,EL是不起任何作用的,这个时候它就等同于普通的字符串,那么如何解决这种情况呢?
一:可以通过window.onload()来得到EL的值再传送给JS文件里的全局变量、方法进行变量初始化 。
二:可以在JSP页面中添加一个隐藏域,给它赋值,在单独的js文件中,通过获取隐藏域的值就间接的获取到了EL表达式的值。

举例

jsp页面(引用jquery文件和register.js     添加两个隐藏域)

  1. <script type="text/javascript"  
  2.             src="${pageContext.request.contextPath}/js/jquery-1.4.3.js">  
  3.          </script>  
  4. <script type="text/javascript"  
  5.             src="${pageContext.request.contextPath}/js/register.js">  
  6.          </script>  
  7. <input id="okPic" type="hidden" value="${pageContext.request.contextPath}/images/jsPic/ok.png"/>  
  8. <input id="errorPic" type="hidden" value="${pageContext.request.contextPath}/images/jsPic/error.png"/>  

register.js文件(设置全局变量ok,error       $(function(){   });当引用这个js文件的页面加载完毕就执行这个函数.相当于window.onload(),然后在其他函数中就可以直接引用ok,error全局变量.)

  1. var ok ="";        
  2. var error = "";  
  3. $(function(){                               
  4.     ok = $("#okPic").val();  
  5.     error = $("#errorPic").val();  
  6. });  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
绝对路径 ${pageContext.request.contextPath}
JSP取得绝对路径
剖析el表达式 (取url地址)
jsp中禁用el表达式
J2EE 和 Web 服务
JS中使用EL表达式的问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服