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