Question

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}.

Can anybody explain the difference or provide a link with meaningful information?

Was it helpful?

Solution

#{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.

OTHER TIPS

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).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top