I have saved some basic HTML in a database. This HTML is via ValueStack
in Action
class redisplayed as <s:property value="htmlcodeString"/>
in JSP file.
However, the HTML code is not interpreted, but escaped and displayed as is (eg. <b>BOLD</b> is shown instead of BOLD).
I am using Struts2. I found many recommendations on internet to use <c:out value="${text}" escapeXml="false" />
. But I don't know what it is. How can I make use of it in Struts2?
The
<s:property>
tag has anescapeHtml
attribute which istrue
by default.(Hopefully for obvious reasons.)
<c:out>
is part of the JSTL, and you use it in S2 like in any other web app, with the caveat that it's because of an S2 request wrapper you can use JSP EL to access the value stack.I came across the question through Google and found adding the
escapeHtml="false"
attribute caused the JSP to stop displaying. What worked instead was simplyescape="false
.