一个技术的成功,在于最终占据了某个概念。当我们应用到此概念的时候,首先想到的就是这个技术实现,久而久之,形成一个自我证明的过程。而有些技术却是在
其位无能谋其政,实在是让人不得不为它扼腕叹息呀。jsp tag正是这样一种技术。有些人认为jsp
tag只是jsp的一种扩展,只是一种syntax suger, 这正反映了此技术所面临的一种困境。这里指出一些jsp
tag的设计缺陷,并无贬低这种技术的意图,只是希望抛砖引玉,引发大家对这种技术改进的探讨。
引用:
jsp tag是服务器端的扩展标签机制,它是一系列java服务器端技术的基础。但其设计之初的几个重大缺陷已经使得这种技术不堪重负。
对比dotNet平台我们可以知道,需要一种后台标签机制,jsp
tag是唯一的标准(JSF等机制都依赖于此),可它的设计给所有希望基于它开发的开发人员造成了巨大的困扰。实际上我对这个技术感到很失望,当然我们提
出了相应的替代方案。在我们的开发框架中使用的是重新设计的一套与网络无关的xml动态标签机制。我的观点是基于jsp
tag技术,无法开发出与dotNet的便捷程度相当的服务端技术,所以这是它作为标准的罪过。jsp
tag不应该是jsp的补充,它搭上了xml这条大船,应该去走自己的路,而不应该成为应用上的鸡肋。
引用:
1. jsp tag与jsp 模型紧密绑定,使得业务逻辑很难抽象到tag中。而且脱离了jsp环境,在jsp tag上的技术投资将一无是处。
这里说业务逻辑可能是有些不妥,容易引起误解。因为我的工作做在中间件层,所以我的原意是基于jsp
tag开发一系列的扩展技术,比如缓存等。我们的xml标签技术是与jsp模型无关的,在前台用于界面渲染,在后台用于工作流描述。而且很方便的就可以与
其它xml技术结合,比如集成ant。
引用:
2. jsp tag的编码逻辑非常繁琐, 特别是写loop和容器类标签的时候。在2.0之前不支持从tag本身产生tag更是应用上的主要障碍。
这绝对是个重大问题,试问多少人自己去开发jsp tag呢,多半是用用别人的成品。编制困难其实就是否定了界面元素的重用。很多人推崇Tapestry, 其实如果jsp tag技术方便一点,何必建立一个完全不同的模型呢。
引用:
3. 使用将xml标签的属性直接映射到对象属性的方法造成tag对象是有状态的,不得不通过丑陋的pool机制来解决性能问题。
而且性能问题直接限制了大量小标签的使用。
这是一个现实的困难,一个系统设计师必须考虑。
引用:
4. jsp tag是一种完全动态化的设计,大量可以在编译期进行的优化都无法进行,基本上所有的运算都是在运行期发生,限制了性能的提高。
我们的xml标签技术是先编译再运行的,加上无状态设计,在性能上可以得到控制。我的朋友hotman_x是个C++和js高手,在他的强烈要求下,我们的xml标签还增加了一个多次编译的机制。
引用:
5. 虽然最近的版本已经支持xml格式,但对于xslt等的集成很不到位,例如现在无法使用xslt对jsp文件进行界面布局。
最简单的
<web:template src="test.tpl" xslt="layout.xslt" />
<web:mytag xdecorator="face.xslt">
...
</web:mytag>
引用:
6. jsp tag要求使用自定义标签名,而无法对已经存在的html标签进行enhance, 造成无法方便的在可视化编辑器中进行编辑。
Tapestry就认为它比较好。我们的xml标签机制也支持属性扩展。
引用:
7. EL表达式竟然不支持调用对象函数
很多人因此觉得OGNL比较好。我们的机制中是对EL做了一定的增强。我不喜欢OGNL, 过于复杂了。
分享到:
相关推荐
JSP标签库是一组预定义的标签,它们可以像JavaBeans一样被导入到JSP页面中,提供了一种声明式编程方式,使得开发者可以将业务逻辑与展示层分离。在JSP 2.0及以上版本中,我们通常使用JSP标准标签库(JSTL)和自定义...
BIRT中JSP Tag的使用 BIRT从2.2开始(最好采用2.2M6及以后版本),提供JSP tag的支持。 现在主要提供了以下5个JSP Tag: 1. viewer --------- 对应 frameset/run 模式,基于Ajax 2. report ---------- 对应 preview...
在JSP中,tag标签是实现页面逻辑和视图分离的重要手段,提高了代码的可重用性和可维护性。本文将详细介绍JSP的tag标签及其使用方法。** 首先,我们要理解JSP中的tag标签分为两种类型:标准标签库(JSTL, JavaServer...
本例子将介绍如何在JSP中利用POI库来实现Excel数据的导入功能。 首先,我们需要在项目中引入Apache POI的相关依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.poi ...
在JSP2.0技术规范中,引入了一种新的标签机制,被称为Tag Files(标签文件),其主要目标是为了解决传统JSP页面中脚本元素的使用问题,提供一个更为简洁和高效的方式来进行页面动态内容的添加。开发者可以利用标签...
JavaScript 合并压缩的 JSP Tag 实现是一个常见的前端优化技术,主要目的是为了减少网络请求次数,提升网页加载速度。在网页开发中,通常会有多份 JavaScript 文件,每份文件都对应一个网络请求,这会增加页面加载...
在JSP中,可以使用EL(Expression Language)表达式或者JSTL(JavaServer Pages Standard Tag Library)标签库来简化查询操作。用户可以通过表单输入多个查询条件,这些条件会被传递到后台,结合SQL的`WHERE`子句...
一个很简单的jsp新闻网站(tag文件和jsp链接)一个很简单的jsp新闻网站(tag文件和jsp链接)一个很简单的jsp新闻网站(tag文件和jsp链接)一个很简单的jsp新闻网站(tag文件和jsp链接)一个很简单的jsp新闻网站(tag...
导入这个jar包是为了确保JSP的正常运行,因为它包含了运行JSP所需的编译和执行支持。 **标签解析:**"jar" 和 "java" 这两个标签强调了该资源与Java平台的可执行文件格式(jar)以及Java编程语言相关。"jar" 文件是...
本文将详细探讨JSP如何实现数据的导入与导出功能,特别是与Excel文件的交互。 首先,我们来看JSP数据导入。通常,数据导入涉及到从Excel文件中读取数据并将其存储到数据库。这需要使用Java的API,如Apache POI库,...
JSP 中 Include 指令静态导入和动态导入的区别详解 JSP 中的 Include 指令可以实现静态导入和动态导入两种方式。静态导入和动态导入是 JSP 中 Include 指令的两种不同的实现方式,它们之间有着明显的区别。 静态...
"dbform jsp tag框架"是一个专为Java Web开发者设计的高效工具,它利用JSP标签(tag)技术,简化了界面与业务逻辑的交互,从而加速了开发进程。这个框架特别适合构建数据密集型的应用,如表单提交、列表展示等常见...
eclipse写jsp时需要导入的jar包,commons-lang3-3.6.jar,jsptest-jsp21-0.19.jar,jtidy-r938.jar,junit4-4.8.2.jar,log4j-1.2.17.jar
在JavaServer Pages (JSP) 开发中,JavaServer Pages Standard Tag Library (JSTL) 是一个非常重要的库,它提供了各种预定义的标签来简化页面逻辑,使代码更加清晰和易于维护。JSTL 包含了多个核心功能模块,如...
在Java Web开发中,JSP(JavaServer Pages)经常用于创建动态网页,而与之配合进行Excel文件导入导出的功能则常使用Apache POI库。Apache POI是Apache软件基金会的一个开源项目,提供了处理Microsoft Office格式文件...
《Manning - JSP Tag Libraries》这本书深入探讨了JavaServer Pages (JSP) 标签库这一核心主题,对于理解并有效利用JSP技术进行Web开发具有极高的价值。标签库是JSP中一种强大的工具,它允许开发者通过自定义的标签...
JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库
JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。
5. 在JSP页面中,通过EL(Expression Language)或JSTL(JavaServer Pages Standard Tag Library)标签,将数据绑定到表单元素。 例如,你可能会有一个名为`Risk`的Java类,用于封装从Word文档中提取的风险信息,...
本资源提供了一种高效且简洁的分页解决方案,利用.tag标签技术来封装分页逻辑,使得在JSP页面中的实现变得简单易懂。 首先,我们来详细了解一下`.tag`标签。`.tag`文件是JSP标准标签库(JSTL)的一部分,用于创建...