什么之间的根本区别jsp标签库vs包括jsp页?
-
02-07-2019 - |
题
我有几个共同要素(组),就会产生一些html。看来我的选择是建立一个标签库,或只是把这一逻辑成jsp页和包括jsp。
什么区别?报vs底片?
解决方案
当您用一个标签库的容器通常为:
- 写和调用一个辅助方法从内_jspService
- 内部的辅助方法的一个实例的标签创建类和标准方法被称为(setParent(),doStartTag(),doEndTag()etc...)
这种保留所有内的代码相同的资源(该请求不会传递到另一组成部分),因此可以让你建立在循环的行为和访问的其他组件,在目前的页。
有的开销在学习标记库。但是一旦你得到了你的第一个标记工作,其所有下坡路。还最终的结果会更容易用于非开发人员了解(假设你选好的名称的标签)。
其他提示
Taglibs允许您定义可以记录的(类型化)参数。 taglibs也可以知道它们在对象树中的位置,因此在不同的上下文中表现不同;或反复调用特定模板以创建迭代器或语句结构。
您是否意识到taglib不一定要用Java编写?还有一个名为tagfiles的概念,它允许您在JSP中编写taglib;通常更适合扁平组件......非常接近包括。
标签(包括易于使用的类似JSP的标记文件机制)支持使用强类型的命名参数进行调用。
JSP标记的另一个非常有用且令人惊讶的经常被忽视的特性是 JspFragment
属性类型。这允许您将一大块JSP代码作为参数传递给要调用的标记,可能是重复的。
包含缺乏这些强大的参数化功能。
taglibs可以更容易地定义和处理参数,但是开发它们需要很大的开销。包含更简单,但功能更弱。很大程度上取决于你的风格。
根据我的经验,人们通常只使用包含因为他们不想花时间学习创建tablib。导致一个混乱。只要你的团队很小而你的团队不太复杂,那也不算太糟糕。但它是一种代码味道。
不隶属于 StackOverflow