What is the recommended way to escape HTML symbols in plain Java?
escaping, html, java
Solution
StringEscapeUtils from Apache Commons Lang:
import static org.apache.commons.lang.StringEscapeUtils.escapeHtml;
// ...
String source = "The less than sign (<) and ampersand (&) must be escaped before using them in HTML";
String escaped = escapeHtml(source);
For version 3:
import static org.apache.commons.lang3.StringEscapeUtils.escapeHtml4;
// ...
String escaped = escapeHtml4(source);
Problem
Is there a recommended way to escape `<`, `>`, `"` and `&` characters when outputting HTML in plain Java code? (Other than manually doing the following, that is). ``` String source = "The less than sign (<) and ampersand (&) must be escaped before using them in HTML"; String escaped = source.replace("<", "<").replace("&", "&"); // ... ```