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

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

有帮助吗?

解决方案

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

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

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

根据我的经验,使用c:out标签的唯一理由是:

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

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

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

其他提示

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

<c:out value="Hello ${user.firstName} ${user.lastName}"/>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top