Saltar al contenido

¿Cómo escapar de las comillas dobles en la función JSTL/EL?

Esta reseña ha sido analizado por expertos así se asegura la veracidad de nuestra esta noticia.

Solución:

No funciona porque el es un carácter de escape en Java string. Para representarlo literalmente, necesita escapar con otro otra vez. También el " es un carácter especial en EL, también necesita escaparlo para representarlo literalmente. Entonces, la sintaxis correcta habría sido:


Pero deberías Realmente estar usando fn:escapeXml() para prevenir XSS. No solo escapa de las comillas, sino también de otros caracteres.


Ver también:

  • Prevención de XSS en la aplicación web JSP/Servlet

Lo estás haciendo mal (con fn:reemplazar).

La forma correcta es:


(actually tested code - works 100%)

Editar: Después de pensar más:

  • el camino usando fn: escapeXml (según lo escrito por BalusC) también funciona y se ve mejor (sin etiquetas anidadas)
  • usando fn:reemplazar imitar fn: escapeXml está pidiendo problemas. Tú voluntad olvide incluir algún carácter que deba escaparse. Simplemente use el existente, probado y comprobado fn: escapeXml (o c:fuera)

Es posible que tenga un error tipográfico: no veo un paréntesis de cierre allí. Prueba esto:

$fn:replace(news.title, """, "\"")

Además, ¿está tratando de SALIR los resultados o está tratando de actualizar news.title así que la próxima vez que acceda news.title el reemplazo esta en su lugar? Esto funcionará para generar el resultado, pero no para reemplazar el valor real: news.title no será cambiado por esta llamada.

Al final de la post puedes encontrar las referencias de otros programadores, tú todavía tienes el poder mostrar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *