EL表达式${}里外要不要加双引号问题?

Posted evit0523

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EL表达式${}里外要不要加双引号问题?相关的知识,希望对你有一定的参考价值。

如题:

因为${u}包含两句语句:

  • pageContext.findAttribute("u");即从作用域中通过key取出value值
    •   当${u}语句中的u不带引号时,当成key取值时是会加“”的。所以${}里面只要是作用域里的key值就不用加引号。(参照19期el文档的获取数据部分)
  • 输出value
    • 而当${}里面是字符串时,就只相当于java的out语句。
      •   ${"3"}---输出3
      •   ${"3+5"}--输出3+5
      •   ${"3"+"5"}--输出8

注:当需要在${}输出后还是各字符串的时候,需要给${}外加双引号。

如:msg的值为"此处为字符串"。

       利用jsp页面中var massage = ${msg};获取后massage=此处为字符串-----显然是不对的

       必须var massage = "${msg}"---------才是对的

注:服务器给浏览器发送的是el表达式取值后的结果,也就是说el表达式是在服务器端完成的解析。

  如果el表达式的取值是字符串的话,就应该加双引号。

  如果是数字类型,则不需要加。

以上是关于EL表达式${}里外要不要加双引号问题?的主要内容,如果未能解决你的问题,请参考以下文章

js 中使用el表达式 关键总结:在js中使用el表达式一定要使用双引号

EL表达式在JS中使用时有无双引号的区别

EL表达式在JS中使用时有无双引号的区别

为啥MYSQL中字符串有时要加双引号,有时不要?

c语言输出数据类型时为啥要加双引号?

JS:JSON的属性名必须要加双引号吗?