0

我有以下 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>
4

2 回答 2

0
    <c:set var="print" value="${fn:replace(response.distHeadline,'\\'','& # 9 2 ; & # 3 9 ;')}" />  

让我知道 print 变量是否为您提供所需的输出!让我知道你是怎么做的!

于 2012-10-15T06:54:25.147 回答
0

问题似乎是单引号在 ${fn:esca... 之前关闭单引号

您将不得不更好地处理报价。我发现创建一个函数来处理工作通常比做所有这些引用内联更容易。

于 2012-10-11T14:55:12.033 回答