tags:

views:

49

answers:

3

i'm helping develop a java jsp jstl based web service and all dynamic objects are being inserted using ${object.foo} and i was wondering if it made a difference whether or not it was actually in <c:out value="${object.foo} />?

the pages all load correctly, but i wonder if there is something that i'm not seeing that may be an issue.

+1  A: 

In previous versions of jsp it was not possible to directly use el expressions in text content, you had to use c:out. This is no longer neccessary, using el expressions directly for output creates a much less cluttered jsp in my opinion. The c:out tag still has its uses if you need to control output escaping via the escapeXml attribute.

Jörn Horstmann
+3  A: 

when you use JSTL core out tag, you have some more options:

  • The values that you are passing to the tag will be by default XML-escaped
  • You can provide a default value which will be displayed if the value passed is null.
Marimuthu Madasamy
+2  A: 

Use EL expressions, and if you need output escaping then use the fn:escapeXml function like ${fn:escapeXml(myText)}.

Bytecode Ninja