How to unescape HTML in Struts2

2019-09-05 17:02发布

问题:

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?

回答1:

The <s:property> tag has an escapeHtml attribute which is true 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.



回答2:

I came across the question through Google and found adding the escapeHtml="false" attribute caused the JSP to stop displaying. What worked instead was simply escape="false.