发布时间 : 星期四 文章jsp+sql鏅鸿兘閬撹矾浜ら氫俊鎭鐞嗙郴缁?鏂囩尞缈昏瘧 - 鐧惧害鏂囧簱更新完毕开始阅读31c9e445ff00bed5b9f31d74
This page has been hit <%-- query the hit counter --%>
他们没有告诉你关于标签库的是:标签设计是语言设 计。大多数标签库都是在约定的时间内,由程序员写给程序员的;这些标签的语义连接给其它的程序员。此外,还记得模型和描述的分离吗?DBTags并不是很好的支持这种分离。Sql:getColumn标签和jsp:getProperty事件很相似。它将DBTags结果直接发到输出流中。这使得很难在描述想要的表的输出流时不用DBTags。最后,注意在Listing 3和Listing 4的例子中的逻辑的不同。DBTags执行来自JDBC的更新语句的标签表示形式。只有查询才可以被找回。这意味着我们知道有多少行被更新语
发展定制标签库是相当直接的,但是它确实要耗费一些时间和精力。我经常推介标签作者首先用scriptlets建立标签行为的圆型,接下来才把这些scriptlets转换为标签。一个可选的方法是用Allaire的JRun Server Tags(JST),它能使每个你的原始标签库作为一个JSP页面。JST可以在运行时可以转换这些页面为标签,因此,JST技术很明显地 服务于客户端页面。尽管Allaire警告说“建立JST的目的是可移植技术,以便所有J2EE社团的成员都能平衡他们的利益”,但JST现在仅仅在JRun中可用。时间将会证明JST是否会成为开发标记更通用的工具。与此同时,我们发现scriptlet为开发标记的业务逻辑奠定了良好的基础;逻辑经调试后,我们把它迁移成为标记处理程序类。 句所更新。因此,我们转换Update和insert语句;我们常常尝试插入一个新的记录,强迫它忽略任何错误,并在接下来执行更新。
公平地看待DBTags标签库,他并不是一个对程序员有害的标签库。除开对更新量的不足,这代码提供了一个相当优秀的JDBC计划。潜藏的问题人仍然存在;
标签提供的功能少于直接转换JDBC包。不同于隐藏某些异常处理,标签库不真的提供任何从scriptlets的提取。他确实不帮助从功能中分离描述。
因此,真正的问题不在于是使用scriptlet还是使用标记;这种问题不是分离功能和表示的问题的原因,而是结果。解决方案是要以适当的说明级别上为表示页面的作者提供更高级别的功能。认为标记优于scriptlet的原因在于:根据定义,scriptlet 是编程,而标记可以表示高级概念。
2.5 对表示页面隐藏JDBC
将JDBC同JSP技术集成时,我们希望对表示作者尽可能多的隐藏该集成。在我们显现数据库概念的地方,我们希望在恰当的抽象级别上显现这些概念。这一方法引出了我们的下一个示例。
在清单5中的示例中,我们对表示页面隐藏了JDBC集成。(这个页面的 实际版本位于JavaServer Pages Developers Guide Web站点) 清单5 隐藏了JDBC的JSP页面 This page has been hit