My web.xml, <web-app> element didnt have any mention of the namespace. May be the container assumed its favorite I think.
I found information from this link:
I updated my web.xml to reflect the following:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd" version="2.4">
Then things started working. I mean the EL gets evaluating. I think the container goes by this namespace declaration to determine its compilation/translation/execution process. I do not know exactly what/how it works based on the namespace declarations.
I had to clear the cache of JBoss App server though (jboss/server/default/work/... and jboss/server/default/tmp/...). Until then I was not able to see the change. Pretty misleading because of the App server Cache.
I think any changes to JSP or XML files, it is better to stop the server, clear the App server cache, redeploy the application and restart the server to see the results of whatever we modified in the application.