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表达式的取值是字符串的话,就应该加双引号。

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

posted @ 2019-02-20 19:45  sholife  阅读(1198)  评论(0编辑  收藏  举报