This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
However, in tomcat 5, if the value is a non-String rt expression, a Rt expression given in the tag body (the second versions above) is toString'ed and the attribute just receives a String instead of an Object type. Is this a behavior defined in spec? I just cannot locate explicit info in the spec saying this but it seems to imply this behavior. Could anyone clarify this. Thanks
I think it is more implied than stated anywhere. Anything that is template text, gets output to a writer - it has to be converted to a string. Values in an attribute are not template text, so obviously do not get automatically converted.
Check out section JSP1.3.6 of the JSP2.0 specification. It has an example showing that whatever is nested between tags is template text. It also details the <jsp:attribute> tag, which I admit I have never come across before.