我有几个常见的元素(组件),这将生成一些HTML。看起来我的选择是创建一个taglib,或者只是将该逻辑放入一个jsp页面并包含jsp。jsp taglib与包含jsp页面之间的根本区别是什么?
最新的区别是什么?积极vs消极?
我有几个常见的元素(组件),这将生成一些HTML。看起来我的选择是创建一个taglib,或者只是将该逻辑放入一个jsp页面并包含jsp。jsp taglib与包含jsp页面之间的根本区别是什么?
最新的区别是什么?积极vs消极?
当您使用标签库的容器通常是:
这使(请求没有得到传递给另一个组件相同的资源内的所有代码),从而允许你建立循环行为和访问其他组件他目前的页面。
在学习标签库方面存在开销。但是,一旦你有了第一个标签,它就会全力以赴。最后的结果对于非开发人员来说也更容易理解(假设您为标签选择了好名字)。
taglibs可以更容易地定义和处理参数,但是开发它们有很大的开销。包含更简单但功能更弱。很大程度上取决于你的风格。
以我的经验,人们通常只使用包括,因为他们不想花时间学习创建tablibs。导致公平混乱。只要你的队伍小而且你的队伍不太复杂,那也不算太坏。但它是一种代码味道。
Taglibs允许您定义(键入)您可以记录的参数。另外taglibs可以知道它们在对象树中的位置,因此在不同的上下文中采取不同的行为;或者反复调用特定的模板来创建迭代器或语句结构。
您是否知道taglibs不一定必须用Java编写?还有一个叫做tagfiles的概念,它允许你在JSP中编写你的taglib;通常更适合平面组件...非常接近包含。
标签(其中包含易于使用的类JSP标签文件机制)支持强类型命名参数的调用。
另一个令人难以置信的有用和令人惊讶的常常被忽略的JSP标签功能是JspFragment
属性类型。这使您可以将一大块JSP代码作为参数传递到要调用的标记中,可能会重复。
包括缺乏这些强大的参数化功能。
是的,酷,现在正在开发tagfiles,虽然弄糊涂了什么差异与jsp。 继承人一个场景,我需要做一些依赖注入,所以一直在寻找一个标签文件的jspinit,但它似乎只适用于jsps? – joshjdevl 2008-09-29 17:45:52
在这种情况下,究竟是什么意思bij'依赖注入'?您是在模型2还是基于组件的架构中工作?你能否举一个你想达到的目标? – p3t0r 2008-09-29 18:35:04
component based.each tagfile是它自己的indep组件。 tagfile调用一些spring管理的服务bean,ex service1获取所有customers.i的列表,我希望这个标签文件处理获取服务bean,方法调用,然后将结果格式化为一个漂亮的表格。这个标签文件包含在jsp中。 – joshjdevl 2008-09-29 19:05:09