JSP / Servlet引擎是否忽略CDATA部分中的标记?

时间:2012-03-14 00:00:46

标签: java javascript xhtml jstl

我有一个使用XHTML的jspx文件(从Spring Roo生成),所以要包含一个Javascript块我需要将它包装在像这样的CDATA部分才有效:

<script>
<![CDATA[
    new dijit.Tooltip(
    {
        connectId : [ "exampleId" ],
        label : "<c:out value='${exampleIdTooltip}'/>",
        position: "above"
    });
]]>
</script>

我遇到的麻烦,我猜CDATA正在完成它的工作,<c:out&gt;没有被执行,它在Javascript块中保留为文字文本。如果我将文件更改为不是XHTML,那么我可以删除CDATA,然后评估我的<c:out>

在XHTML文件中将JSTL标记或EL嵌入到Javascript块中的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

如果不应该评估,请在脚本块内手动转义&<>,而不是使用CDATA。记得也要逃避JSTL / EL的结果。