4

我记得我和一群开发人员一起做一个项目,他们总是希望静态 html 文本位于 out 标记 ( <c:out value="words" />) 内。我不记得为什么会这样。

这真的是构建 jsp 页面时的最佳实践吗?这种方法的优点/缺点是什么?

4

2 回答 2

11

对于静态文本来说,这是一个糟糕的主意。然后,您就没有障碍了解什么是静态的,什么是动态生成的。

除此之外,在 Servlet Spec 2.3+ 上,您可以将动态文本与静态文本混合为:

这是静态的,而不是${dynamic}文本。

根据我的经验,使用c:out标签的唯一原因:

  1. 您正在使用较旧的 servlet 规范,并且需要它们以某种方式输出 DYNAMIC 文本

  2. 您想转义HTML输出以避免使用<>等,用它们的控制代码等替换&符号。

否则,让他们使用静态文本会使程序员或维护者感到困惑……现在我把那个EL放在哪里了?它在一个c:out标签中……但其他五十行静态文本也是如此!

于 2008-10-20T19:53:56.087 回答
3

如果您只是打印纯文本,最好使用 HTML。标签的优点c:out是您可以评估标签内的表达式。

<c:out value="Hello ${user.firstName} ${user.lastName}"/>
于 2008-10-20T19:19:25.690 回答