我应该在哪里转义HTML字符串,JSP页面或Servlet?
我希望为我提供一套明确的准则或规则来处理转义字符串。我用来转义字符串的是apache commons-lang-x.x.jar库。具体来说就是方法。StringEscapeUtils.escapeHtml(String toEscape)
我需要知道:
(1) 在 JSP 页面还是在 Servlet 中转义字符串更好?
(2) 你推荐什么 StringEscapeUtils.escapeHtml(..) 或 <c:out> 来自 JSTL
(3)处理多行字符串,这样更好,直接在字符串中使用<br>,或者\n和nl2br()方法:
String strError = "Invalid username.\nPlease try again.";
或
String strError = "Invalid username.<br>Please try again.";
(4)我如何转义接收通配符的字符串,例如:
String strError = "Invalid user [%s].<br>Please specify another user."
(5)由于javascript转义字符是不同的。我应该用什么来转义要在JSP页面的javascript部分内呈现的Java字符串(例如)。var name = "<%=javaStringHoldingName%>"