Whats the difference between “${foo.bar}” and “#{foo.bar}”?

前端 未结 2 780
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-14 00:55

I can use objects from my Java Beans within .jsp files by using the Expression Language (EL). Therefore I can get my value by typing ${foo.bar}. But I can also use #{foo.bar

相关标签:
2条回答
  • 2021-01-14 01:29

    This is covered in the JSP 2.1 spec.

    In Java EE, #{expr} is used for deferred evaluation and ${expr} for immediate evaluation. Deferred expressions (#{expr}) expressions can only be used with tag attributes that accept them. This is a Java EE convention, but other domains could impose their own meaning (e.g. if you wanted to use EL in your own templates).

    0 讨论(0)
  • 2021-01-14 01:31

    #{foo.bar} syntax is from the JSF expression language. Some bright spark thought it would be a good idea to use a different syntax to JSP EL (i.e. ${foo.bar}). I think some JSP containers are tolerant of this cockup, and let you use either one.

    0 讨论(0)
提交回复
热议问题