繁体   English   中英

最佳实践:自定义jsp标签还是包含标签?

[英]Best practice: custom jsp tag or include tag?

代码中可重用的jsp组件的最佳实践是什么? 编写自定义标记或使用<jsp:include>标记?

哪种情况会决定使用其中一种?

用例:我正在尝试重构应用程序的一部分,并希望就如何将html分解为可重用的部分做出明智的决定。 我目前正在使用自定义标记来构建包括页眉和页脚以及html头和依赖项的布局。 但我不确定在应用程序中重复使用的一大块静态HTML的最佳方法。

从代码库组织的角度来看,有很多原因可以与其中一个相提并论。

创建标记库而不是使用jsp:include标记的主要原因是提供可能影响生成的标记的参数和值。 假设您要传递一个用户名,以显示在您已花费宝贵周期检索的页眉中。 此外,如果你有特别复杂的逻辑(即除了条件或循环之外的任何东西),标签库就是你要走的路。 没有人想要一堆乱七八糟的意大利面条代码。

我会说,一个不接受总是产生静态输出的参数的标签库在功能上等同于使用jsp:include

您的特定用例涉及一些相关的标记。 您有页眉和页脚。 将此实现为同一Tag Library类中的不同标记可能是有意义的,以将这些相关的片段保存在同一位置。

另一方面,将HTML封装在标记库中会降低非开发人员的可维护性。 假设您有一个项目的图形设计师,他不知道 Java但想编辑标记。 当然,他们可能会跋涉标签库类并弄清楚他们需要改变什么; 也许不吧!

总而言之,如果您认为可以传递参数,或者您有业务逻辑,那么它就是标记库。 如果它只是静态内容和/或您希望非开发人员帮助编辑,可能坚持使用包含的.jsp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM