我记得我和一群开发人员一起做一个项目,他们总是希望静态 html 文本位于 out 标记 ( <c:out value="words" />
) 内。我不记得为什么会这样。
这真的是构建 jsp 页面时的最佳实践吗?这种方法的优点/缺点是什么?
对于静态文本来说,这是一个糟糕的主意。然后,您就没有障碍了解什么是静态的,什么是动态生成的。
除此之外,在 Servlet Spec 2.3+ 上,您可以将动态文本与静态文本混合为:
这是静态的,而不是${dynamic}
文本。
根据我的经验,使用c:out
标签的唯一原因:
您正在使用较旧的 servlet 规范,并且需要它们以某种方式输出 DYNAMIC 文本
您想转义HTML
输出以避免使用<>
等,用它们的控制代码等替换&符号。
否则,让他们使用静态文本会使程序员或维护者感到困惑……现在我把那个EL放在哪里了?它在一个c:out
标签中……但其他五十行静态文本也是如此!
如果您只是打印纯文本,最好使用 HTML。标签的优点c:out
是您可以评估标签内的表达式。
<c:out value="Hello ${user.firstName} ${user.lastName}"/>