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