JSP2.0的标签库引入一个新特性——动态属性,该特性通过接口javax.servlet.jsp.tagext.DynamicAttributes来实现。实现该接口需要实现setDynamicAttribute()方法,该方法用于接收动态属性。使用动态属性这个新特性后,标签类对应属性的get、set方法就可以去掉了,tld文件也可以去掉相应的属性配置。
如果需要使用JSP2语法,其web.xml文件必须使用Servlet 2.4以上版本的配置文件。
1、标签类TestTag的源码:
public class TestTag extends BodyTagSupport implements DynamicAttributes { private User user; public TestTag(){ this.user = new User(); } public void setDynamicAttribute(String uri, String localName, Object value) throws JspException { try{ //此处获取动态属性名和值 BeanUtils.setProperty(user, localName, value); }catch(IllegalAccessException e){ throw new JspException("该UI不存在该属性"); }catch(InvocationTargetException e){ throw new JspException("该UI不存在该属性"); } } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }
2、自定义标签在标签库描述符文件中的声明:
dynamic-attributes参数设置为true就是表示该标签支持动态属性特性。
<tag> <name>test</name> <tag-class>com.cjm.web.tag.TestTag</tag-class> <dynamic-attributes>true</dynamic-attributes> </tag>
3、自定义标签的使用:
<%@ taglib prefix="cjm" uri="/WEB-INF/cjm.tld"%> <cjm:test p1="v1" p2="v2"/> <!-- p1、p2标签属性在标签类和描述符文件中都没有定义 --> <cjm:test> <jsp:attribute name="uid" trim="true"><%=request.getParameter("uid")%></jsp:attribute> <jsp:attribute name="pwd" trim="true"><%=request.getParameter("pwd")%></jsp:attribute> </cjm:test>
相关推荐
JSP 2.0版本引入了一个新的特性,即自定义Tag的支持,这使得开发者能够创建自己的标签库,以更符合HTML语法的方式来编写业务逻辑。本实例将深入探讨`Tag`的使用,以及如何通过JSP 2.0新特性来简化自定义标签的开发...
在JSP2.0版本中,引入了许多新特性,旨在提高开发效率,简化代码结构,以及增强可维护性。 1. **表达式语言(Expression Language, EL)**:JSP2.0引入了EL,它提供了一种简洁的方式来访问JavaBean或其他数据源中的...
**JSP2.0技术手册——深入理解Java服务器页面** JSP(Java Server Pages)是Java平台上用于构建动态Web应用程序的一种技术。JSP2.0是其重要的版本更新,引入了诸多新特性,提升了开发效率和灵活性。本手册将详细...
表达式语言是JSP 2.0引入的新特性,用于简化数据访问。本章将讲解EL的基本语法,如变量、运算符、函数等,并通过实例展示如何使用EL与JavaBean进行交互。 4. **第5章:JSP标准动作标签(JSTL)** JSTL提供了一组...
EL(Expression Language)是JSP2.0引入的一种轻量级的脚本语言,用于简洁地访问JSP页面中的JavaBean属性。JSTL(JavaServer Pages Standard Tag Library)是一组标准标签库,提供了一系列标签来简化JSP的开发,如...
4. **JSP 2.0及以上版本的新特性**: 包括引入了JSR 152的EL 2.0,增强了EL的功能;引入了scriptlet的替代方式,鼓励使用EL和JSTL。 综上所述,《Web程序设计——JSP》教程全面介绍了JSP的基本概念、核心技术以及...
5. **JSP 2.0及以上版本的改进**:引入了独立于Servlet的JSP页面(JSP 2.0),支持直接在JSP页面中定义Java类(scriptless JSP),以及注解(Annotations)等特性,提升了开发效率。 ### 学习资源 在"JSP入门与...
9. **JSP 2.0+特性**:自定义标签、分离逻辑和表现,以及使用JavaServer Faces(JSF)组件等。 通过分析这个"MyJsp.jsp" 文件,初学者可以了解如何在JSP中编写简单的Java代码,展示动态内容,以及如何组织一个基本...
9. **EL(Expression Language)**:EL是JSP 2.0引入的一种简化表达式语法,用于方便地访问JavaBeans属性和集合。 10. **JSP的MVC模式**:尽管JSP可以用于视图和控制逻辑,但最佳实践推荐使用Servlet进行控制逻辑...
《Java分页标签库——pager-taglib-2.0详解》 在Web开发中,数据分页是一项必不可少的功能,它能够有效地管理大量数据,提高页面加载速度,优化用户体验。Java中,`pager-taglib-2.0`是一个专门用于处理分页的标签...
高级主题可能涉及JSP的2.0及更高版本引入的新特性,如标签文件、EL的增强、AJAX集成等。此外,也可能探讨了如何使用现代框架如Spring MVC,Struts,或者更现代的前后端分离技术,如RESTful API和单页应用程序(SPA)...
1. **使用EL(Expression Language)**:EL是JSP2.0引入的一种简化页面脚本的表达式语言,可以更方便地访问JavaBean属性,减少脚本元素的使用,提高代码可读性。 2. **理解作用域**:JSP中有四个作用域——page、...
TLD文件描述了库中每个标签的用途、属性、事件等信息,对于理解和使用特定库非常有用。例如,可能包含了关于PrimeFaces、Tomahawk或其他自定义组件库的信息。 学习JSF的过程中,你将接触到这些核心概念,并学会如何...
在Tomcat 5.0中,对JSP和Servlet的版本支持已经升级到了2.4规范,这意味着开发者可以利用更多高级特性和优化,比如EL(Expression Language)、JSTL(JavaServer Pages Standard Tag Library)以及自定义标签库等,...
然而,JSP不仅仅是简单的Java与HTML的结合,它还引入了JSP指令、脚本元素、表达式语言(EL)以及JSTL(Java Server Pages Standard Tag Library)等特性,这些使得JSP页面能够更加灵活地处理数据和控制流程。...
确保选择合适的J2EE规范版本,如Java EE5.0,以便利用JSTL标签库和其他JSP2.0特性。完成创建后,可以部署工程到像Tomcat这样的Web服务器上,查看运行效果。 2. 添加Struts特征库 为了使用Struts框架,需要为工程...
此外,Tomcat 5.0支持JSP 2.0和Servlet 2.4规范,这意味着开发者可以利用这些版本的新特性,如EL 2.0和JSTL (JavaServer Pages Standard Tag Library)。同时,Tomcat还提供了管理工具,如Manager应用,用于远程部署...
2. **EL(Expression Language)**:EL是JSP 2.0引入的一种简洁的表达式语言,用于访问JavaBeans属性和JSP作用域中的对象。例如,`${variable}`可以用来输出变量的值。 3. **JSTL(JavaServer Pages Standard Tag ...
参考书籍:《JSP2.0技术手册》林上杰编著,《深入体会Java Web开发内幕——核心基础》。 第三部分,进入更高级的框架和技术: 1. MVC模式:理解MVC设计模式及其在Web开发中的作用。 2. Webwork:探索Webwork如何...