Hi All,
I have some queries regarding EL when values is being accessed using Map..
For expression
${colorMap[red]} then method invoked is colorMap.get(pageContext.findAttribute("red"))
and for ${colorMap["red"]} method invoked is colorMap.get("red").
You access a map's values through its keys, which you can specify with the [] operator,
for example, ${colorMap[red]} and ${colorMap["red"]}.
The former specifies an IDENTIFIER for the key, whereas the latter specifies a STRING. For the identifier, the PageContext.findAttribute method searches all FOUR JSP scopes (searching the page, request, session, and application scopes) for a scoped variable with the name that you specify, in this case, red. On the other hand, if you specify a string, it's passed directly to the map's get method..
In the explanation given above in bold. Does it mean that the use of second expression will not find in any of the scope for the corrospoding value of red. In either case it ultimately finds the values of KEY red. Then what is difference with both the method invoked?
Thanks in Advance.
Jay