Agradecería que me proporcionara un conjunto de pautas claras o reglas para manejar cadenas de escape. Lo que uso para escanear cadenas es la biblioteca apache commons-lang-x.x.jar. Específicamente el método StringEscapeUtils.escapeHtml(String toEscape)
.¿Dónde debería escapar las cadenas de HTML, la página JSP o los servlets?
necesito saber:
(1) ¿Dónde es mejor para escapar de las cadenas, en la página JSP o en el servlet?
(2) ¿Qué recomienda StringEscapeUtils.escapeHtml (..) o <c:> cabo de JSTL
(3) Manipulación de líneas múltiples, lo que es mejor, usar <br> directamente en la cadena,
String strError = "Invalid username.\nPlease try again.";
o
String strError = "Invalid username.<br>Please try again.";
(4) ¿Cómo hago para escapar de las cadenas que reciben comodines, ejemplo:
String strError = "Invalid user [%s].<br>Please specify another user."
(5) Desde Javascript caracteres de escape son diferentes. ¿Qué debo usar para escapar de las cadenas de Java que se van a representar dentro de las secciones de javascript de la página JSP (por ejemplo, var name = "<%=javaStringHoldingName%>"
).
¿Qué sucede cuando tengo una cadena de plantilla como "Rango no válido [% s].
debe contener solo caracteres alfanuméricos . ". Y digamos que el valor es "1 .. <5". ¿Cómo se manejaría esto al escapar? Tenga en cuenta que la cadena de la plantilla contiene un
porque está destinado a mostrarse en dos líneas. –
En JSP básico, normalmente usa JSTL ''. O cuando usa un marco (MVC) además de JSP como Spring, JSF, etc., tienen todas sus propias etiquetas de formato de mensaje. Ver también esta pregunta relacionada que hoy coincido por casualidad: http://stackoverflow.com/questions/4961558/best-practice-for-translations –
BalusC
para que lo sepas, también funciona usando 'StringEscapeUtils.escapeHtml (" lala ") ; 'impreso en el jsp. – Vince