JSP和Jquery中的美元花括号问题

4
在JSP中,我注意到我不能将${}呈现为HTML。页面被呈现后,HTML页面将不再显示${}。在我理解中,${}是Java语法的一部分。
有没有办法将其呈现为HTML?目前,我使用print "${}"作为字符串,以便可以在我的HTML上呈现它。我需要这个符号按原样呈现,以便稍后我可以使用jquery抓取这个符号。(FYI:我正在使用jquery模板)
提前致谢。
3个回答

6
\${this is not an EL expression}

如果在JSP模板中出现表达式,请使用\进行转义。

引用自JSP EL 2.2规范

To generate literal values that include the character sequence ${ or #{, the developer can choose to use a composite expression as shown here:

${'${'}exprA}
#{'#{'}exprB}

The resulting values would then be the strings ${exprA} and #{exprB}.

Alternatively, the escape characters \$ and \# can be used to escape what would otherwise be treated as an eval-expression. Given the literal-expressions:

\${exprA}
\#{exprB}

这就是我一直在寻找的。你必须将JSF添加到头文件中。 我不得不在JSF xhtml页面内转义JavaScript字符串替换参数,以便它不被视为EL表达式。 - Dmitry Trifonov
<img src="{% static '${fname}' %}" 中,如果我想要转义外部的 {},应该怎么做?由于这些外部花括号,${fname} 没有被解释为变量。请帮忙。 - Naveed

2

如果您在JSP页面中没有使用EL,则可以使用\${expression}。然后您可以使用
<%@ page isELIgnored ="true" %>。

我建议您在JSP的其他部分中使用强大且非常有用的EL,使用\${expression}即可。

~Rajiv


1
将此行代码放置在 JSP 顶部。
<%@ page isELIgnored ="true" %>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接