美文网首页
【零碎】在js中使用jquery的${}EL表达式

【零碎】在js中使用jquery的${}EL表达式

作者: acsamson | 来源:发表于2019-04-18 17:20 被阅读0次

EL表达式就是在js中获取后台的数据的一种表达式方式,例如:

${pictureUrl} // 等同于从后台中调动getPictureUrl()
${pictureUrl[index]} // 如果是数组的话
${pictureUrl.'key'} // 如果是map的话

那么在外部js中是无法识别el表达式的, 他只会转成string类型, 那么怎么在js中获取el表达式的值呢


解决方法: 在jsp页面内写

加入传入的pictureUrl是一个数组, 就可以取其中的元素, 如果是map下的('picture', array)这样就不可以直接取其中的元素, 要分步骤来, 写成一条语句会报错, ${map.pictureUrl[下标]}它就不知道这是什么东西

正确写法要写成:

<c:forEach items="${Map.chineseName}" var="chineseName">
    <c:forEach items="${chineseName}" var="name">
        <div>${name}</div>
    </c:forEach>
</c:forEach>

注意 如果值是对象, 不要乱用字符串拼接

var pictureUrl = '${pictureUrl['+i+']}'; // 这样写会报错

正确写法

var pictureUrl ='${pictureUrl[''+i+'']}'; // 将获取到的后台值转成了字符串
// 原理是
var pictureUrl = '${pictureUrl[0]}'; // 我们一般这样写
var pictureUrl = '${pictureUrl['0']}'; // 这样也可以获取到 

可能会有一个问题, 我在外部js中写然后传到jsp内联js, 然后jsp读取到字符串再把其中的对应el表达式找出来去匹配?

实际上是不可以的, 它没有那么只能还会从字符串中去找匹配, 逻辑上可能就不通, 因为如果可以的话那肯定会影响性能, 设计上也不可以, 意味着如果el表达式本身要被识别成字符就会很麻烦

也就是说说

var pictureUrl ='${pictureUrl['+'+i+'+']}'; // 外部js还是会被jsp识别成字符

相关文章

  • 【零碎】在js中使用jquery的${}EL表达式

    EL表达式就是在js中获取后台的数据的一种表达式方式,例如: 那么在外部js中是无法识别el表达式的, 他只会转成...

  • 如何在js文件中获取request范围的值

    jsp页面 jsp表达式 EL表达式 js代码 备注 如果js代码在jsp页面内则可以直接使用<%=%>这种方式获...

  • 九、EL表达式与JSTL表达式

    1、EL表达式是为了简化jsp页面,只能写在js代码中,不能写在java程序中。在java程序总需要使用getPa...

  • JavaWeb之 EL表达式

    EL表达式 EL是JSP内置的表达式语言! ​ jsp2.0开始,不让再使用java脚本,而是使用el表达式和...

  • jsp的el表达式

    el:el表达式可以输出定义在域对象中的变量或者表达式 $()

  • JavaEE学习day-52:EL表达式和JSTL标签

    一、EL表达式 1.EL表达式的概念: 传统方式在jsp中获取数据的弊端 使用脚本段语句获取作用域中的数据的缺陷,...

  • day07

    EL表达式&JSTL EL表达式的学习路线:1 EL表达式的由来2 使用EL获取web四个容器(page、re...

  • java中el 及jstl知识的总结

    El表达式的语法: ${表达式} 注意: 自带响应的功能 El表达式的使用: El表达式获取请求数据 获取用户请求...

  • 5、jstl与el表达式

    1、什么是el表达式 el表达式会自动类型转换 对类型没有强制要求 使用简单 2、el表达式作用范围 EL最主要的...

  • EL表达式与JSTL【经典】

    一、EL表达式 1、EL相关概念 JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段...

网友评论

      本文标题:【零碎】在js中使用jquery的${}EL表达式

      本文链接:https://www.haomeiwen.com/subject/gcwtgqtx.html