使用jstl out标签真的是最佳做法吗?

时间:2008-10-20 19:09:14

标签: java html jsp jstl

我记得和一群开发人员一起开展项目,他们总是想要静态  html文本位于out标记内(<c:out value="words" />)。我不记得为什么  情况确实如此。

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

2 个答案:

答案 0 :(得分:11)

静态文本是一个糟糕的主意。然后,您对静态和动态生成的内容没有任何障碍。

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

这是静态的,而非${dynamic}文字。

根据我的经验,使用c:out代码的唯一原因是:

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

  2. 您希望转义HTML输出以避免使用<>等,用其控制代码替换&符号等。

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

答案 1 :(得分:3)

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

<c:out value="Hello ${user.firstName} ${user.lastName}"/>