我有以下EL表达式:
${fn:escapeXml(fn:replace(response.distHeadline, "'", "\\'"))
基本上是双重转义“response.distHeadline”中的所有撇号,然后Xml在此之后转义distHeadline。我这样做是因为我将它传递给JavaScript方法。但是在Eclipse中,它在第一个引号上给出了EL语法错误,然后当我自动格式化(Control + Shift + F)时,如果中断并将剩余的等式移动到下一行。
${fn:escapeXml(fn:replace(response.distHeadline, "
'", "\\'"))
因此,当我发布页面时,方程式不起作用。如果我手动将方程式保持在一条线上,它就能正常工作。
如何防止Eclipse认为存在错误或阻止Eclipse将此等式分为两行。
以下完整标记:
<img class="copy_identifier" onclick="getIdentifier('${response.filename}', '${fn:escapeXml(fn:replace(response.distHeadline, "'", "\\'"))}')" src="public/images/hyperlink_13x13.png"></img>
答案 0 :(得分:0)
问题似乎是单引号在$ {fn:esca ...
之前关闭单引号您必须更好地处理报价。我发现创建一个处理工作的函数通常比完成所有这些内联引用更容易。
答案 1 :(得分:0)
<c:set var="print" value="${fn:replace(response.distHeadline,'\\'','& # 9 2 ; & # 3 9 ;')}" />
让我知道打印变量是否为您提供所需的输出!让我知道你如何解决这个问题!