`
raymond.chen
  • 浏览: 1437510 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JSP2.0标签库新特性 —— 动态属性

    博客分类:
  • Java
阅读更多

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>

    

分享到:
评论
1 楼 907121461 2014-07-04  
你好 在吗 我使用spring-form的标签库 我看他的标签是支持动态属性的 ,这个项目在tomcat下运行正常,tomcat7下运行就报错 提示属性无效了

相关推荐

    Tag的使用<JSP 2.0新特性>

    JSP 2.0版本引入了一个新的特性,即自定义Tag的支持,这使得开发者能够创建自己的标签库,以更符合HTML语法的方式来编写业务逻辑。本实例将深入探讨`Tag`的使用,以及如何通过JSP 2.0新特性来简化自定义标签的开发...

    JSP2_0技术手册

    在JSP2.0版本中,引入了许多新特性,旨在提高开发效率,简化代码结构,以及增强可维护性。 1. **表达式语言(Expression Language, EL)**:JSP2.0引入了EL,它提供了一种简洁的方式来访问JavaBean或其他数据源中的...

    JSP2_0技术手册--JSP

    **JSP2.0技术手册——深入理解Java服务器页面** JSP(Java Server Pages)是Java平台上用于构建动态Web应用程序的一种技术。JSP2.0是其重要的版本更新,引入了诸多新特性,提升了开发效率和灵活性。本手册将详细...

    从零开始——JSP动态网页制作基础培训教程-源代码

    表达式语言是JSP 2.0引入的新特性,用于简化数据访问。本章将讲解EL的基本语法,如变量、运算符、函数等,并通过实例展示如何使用EL与JavaBean进行交互。 4. **第5章:JSP标准动作标签(JSTL)** JSTL提供了一组...

    JSP编程帮助文档——各种帮助

    EL(Expression Language)是JSP2.0引入的一种轻量级的脚本语言,用于简洁地访问JSP页面中的JavaBean属性。JSTL(JavaServer Pages Standard Tag Library)是一组标准标签库,提供了一系列标签来简化JSP的开发,如...

    Web程序设计——JSPppt

    4. **JSP 2.0及以上版本的新特性**: 包括引入了JSR 152的EL 2.0,增强了EL的功能;引入了scriptlet的替代方式,鼓励使用EL和JSTL。 综上所述,《Web程序设计——JSP》教程全面介绍了JSP的基本概念、核心技术以及...

    JSP入门与提高

    5. **JSP 2.0及以上版本的改进**:引入了独立于Servlet的JSP页面(JSP 2.0),支持直接在JSP页面中定义Java类(scriptless JSP),以及注解(Annotations)等特性,提升了开发效率。 ### 学习资源 在"JSP入门与...

    MyJsp.jsp.rar_page

    9. **JSP 2.0+特性**:自定义标签、分离逻辑和表现,以及使用JavaServer Faces(JSF)组件等。 通过分析这个"MyJsp.jsp" 文件,初学者可以了解如何在JSP中编写简单的Java代码,展示动态内容,以及如何组织一个基本...

    《JSP基础教程:黑魔方》(清华版)

    9. **EL(Expression Language)**:EL是JSP 2.0引入的一种简化表达式语法,用于方便地访问JavaBeans属性和集合。 10. **JSP的MVC模式**:尽管JSP可以用于视图和控制逻辑,但最佳实践推荐使用Servlet进行控制逻辑...

    pager-taglib-2.0

    《Java分页标签库——pager-taglib-2.0详解》 在Web开发中,数据分页是一项必不可少的功能,它能够有效地管理大量数据,提高页面加载速度,优化用户体验。Java中,`pager-taglib-2.0`是一个专门用于处理分页的标签...

    jsp完全探索1

    高级主题可能涉及JSP的2.0及更高版本引入的新特性,如标签文件、EL的增强、AJAX集成等。此外,也可能探讨了如何使用现代框架如Spring MVC,Struts,或者更现代的前后端分离技术,如RESTful API和单页应用程序(SPA)...

    JSP编程小技巧集锦121例子(.txt 版本)

    1. **使用EL(Expression Language)**:EL是JSP2.0引入的一种简化页面脚本的表达式语言,可以更方便地访问JavaBean属性,减少脚本元素的使用,提高代码可读性。 2. **理解作用域**:JSP中有四个作用域——page、...

    jsf学习必备——实用工具书

    TLD文件描述了库中每个标签的用途、属性、事件等信息,对于理解和使用特定库非常有用。例如,可能包含了关于PrimeFaces、Tomahawk或其他自定义组件库的信息。 学习JSF的过程中,你将接触到这些核心概念,并学会如何...

    Tomcat 5.0(JSP开发专用)

    在Tomcat 5.0中,对JSP和Servlet的版本支持已经升级到了2.4规范,这意味着开发者可以利用更多高级特性和优化,比如EL(Expression Language)、JSTL(JavaServer Pages Standard Tag Library)以及自定义标签库等,...

    Java Web快速入门——全十讲

    然而,JSP不仅仅是简单的Java与HTML的结合,它还引入了JSP指令、脚本元素、表达式语言(EL)以及JSTL(Java Server Pages Standard Tag Library)等特性,这些使得JSP页面能够更加灵活地处理数据和控制流程。...

    Struts技术经典入门

    确保选择合适的J2EE规范版本,如Java EE5.0,以便利用JSTL标签库和其他JSP2.0特性。完成创建后,可以部署工程到像Tomcat这样的Web服务器上,查看运行效果。 2. 添加Struts特征库 为了使用Struts框架,需要为工程...

    tomcat5.0压缩版很实用

    此外,Tomcat 5.0支持JSP 2.0和Servlet 2.4规范,这意味着开发者可以利用这些版本的新特性,如EL 2.0和JSTL (JavaServer Pages Standard Tag Library)。同时,Tomcat还提供了管理工具,如Manager应用,用于远程部署...

    java代码-JSP实训4

    2. **EL(Expression Language)**:EL是JSP 2.0引入的一种简洁的表达式语言,用于访问JavaBeans属性和JSP作用域中的对象。例如,`${variable}`可以用来输出变量的值。 3. **JSTL(JavaServer Pages Standard Tag ...

    J2EE总体的学习步骤

    参考书籍:《JSP2.0技术手册》林上杰编著,《深入体会Java Web开发内幕——核心基础》。 第三部分,进入更高级的框架和技术: 1. MVC模式:理解MVC设计模式及其在Web开发中的作用。 2. Webwork:探索Webwork如何...

Global site tag (gtag.js) - Google Analytics