最佳做法:自定义jsp标记或包含标记?

时间:2015-07-30 15:40:21

标签: java jsp

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

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

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

1 个答案:

答案 0 :(得分:4)

从代码库组织的角度来看,有很多理由可以与其中一个一起使用。

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

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

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

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

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