之间的区别。 EL中的运算符和[]

时间:2017-12-08 06:54:20

标签: jsp servlets java-ee el

这可能看起来很愚蠢和非常天真的问题,但我总是混淆如何使用。和EL中的[]运算符。我迷失在问题7“Head first Servlet& JSP”中。所以我有困惑

  1. style=""padding

  2. 之间的区别
  3. ${foo[bar]}如何等于${foo["bar"]}而不是${foo.bar}

  4. 如何推断${foo["bar"]}对于Map而不是对于数组或列表有效

  5. 如何推断${foo[bar]}对于数组或列表有效,而不适用于地图。

  6. 我读过这本书但仍然很困惑。 可以有人指导我。 提前致谢

1 个答案:

答案 0 :(得分:1)

  
      
  1. $ {foo [bar]}和$ {foo [“bar”]}之间的区别是什么
  2.   

两者之间的区别在于,在前者中,您正在访问 foo  使用 bar 变量进行收集,而在后者中,您尝试从地图中检索 foo

  
      
  1. $ {foo.bar}如何等于$ {foo [“bar”]}而不是$ {foo [bar]}
  2.   

因为${foo.bar}只是意味着 bar 就像 foo 的属性一样,因此${foo["bar"]}和{{1}更有意义相似的。对于${foo[bar]},这也可以与${foo["bar"]}类似,具体取决于bar的类型。

  
      
  1. 如何断定$ {foo [“5”]}对Map有效,而不是对数组或列表有效
  2.   

因为"5"是一个字符串而不是整数。

  
      
  1. 如何推断$ {foo [5]}对于数组或列表有效,而不适用于地图。
  2.   

与上述问题类似的论点,5是一个整数。

我的EL技能有点生疏,请原谅任何错误。