是否在JSP页面的HTML注释中评估了JSP表达式?
那么在这种情况下服务器输出会是什么?
<!--
Jeremy <%="Flowers"%>
-->
表达式是否会被解析,或者它将作为HTML注释中的表达式保留
A)
<!--
Jeremy <%="Flowers"%>
-->
或b)
<!--
Jeremy Flowers
-->
答案 0 :(得分:4)
是的,表达式将被解决。 JSP页面甚至不知道它是以HTML格式编写的,因此它不会解释任何特定于HTML的内容。
您也可以使用JSP或JSON或任何您喜欢的方式编写纯文本。
答案 1 :(得分:1)
这些是html评论,而不是jsp评论。因此,仍在评估内部的所有jsp代码。
还有jsp特定的评论内容的方式:<%-– ... -–%>
。内部内容不会被服务器评估,也不会传递给浏览器。所以,它也充当了html评论。
答案 2 :(得分:0)
当页面呈现给浏览器时,您甚至可以使用 HTML 注释来部分隐藏来自 jsp 表达式的计算结果。
例如
`${empty requestScope.errors? "" : "<p id='errors'>Error(s)!
<ul>"}
<!--${requestScope.errors.stream().map(x -> "-->
<li>"x"</li>
<!--").toList()}-->
${empty requestScope.errors? "" : "</ul></p>"}`
来自 requestScope.errors.stream().map(x->)
的局部变量 x 仍然被求值并传递给 <li>"+=x+="</li>
输出:
` 错误!
如果表达式不在 HTML 注释标签中,由于 .toList()
不带 HTML 标签的输出:
`错误!