estoy usando Java Facelets y jQuery, sin embargo la expresión
$('...')
en jQuery conflictos con expresión EL, ¿cómo escapar uno del jQuery?
Me gustaría escapar de un gran trozo de Javascript, también.
respondió
Para convertir el JSP existente para Facelets XHTML, es conveniente simplemente envolver el javascript existente <![CDATA[ ... ]]>
. Sin embargo, las secuencias de comandos de salida para <script>
están envueltos por <!-- -->
comentario, que entra en conflicto con la sección CDATA:
<script><![CDATA[ scripts... ]]></script>
=> <script><!-- <![CDATA[ scripts... ]]> --></script>
Para resolver este problema, también se debe comentar la CDATA:
<script>/* <![CDATA[ */ scripts... /* ]]> */</script>
=> <script><!-- /* <![CDATA[ */ scripts... /* ]]> */--></script>
Ver también When is a CDATA section necessary within a script tag?.
Como por su actualización, el verdadero problema viene claro: estás escribiendo código JS prima en un archivo XML y el analizador XML está cayendo sobre '' $ que debe ser representado como '&'. Además de la fea solución 'CDATA', la mejor solución es poner el código JS en su propio archivo' .js'. Después de todo, el título y el cuerpo de la pregunta no describen el problema real y, por lo tanto, son engañosos. – BalusC