最近一直在学习自定义标签,于是就想试着去实现一些jsp中自带的标签库功能,顺便也把反射机制复习一下.(如果你对这两种技术不很熟悉,这篇blog的最下边有一些关于反射与自定义标签的example与ppt文档下载)
属性 用途 id 给将要应用bean的变量一个名字,如果发现有相同id与scope的bean对象,则应用此对象而不会产生一个新的例示. class 指明了bean的整个包名. scope 表明了此bean的作用范围,共有四个值:page, request, session, 与 application,缺省的是page属性,表明此bean只能应用于当前页(保存在当前页的pagecontext 中);request属性表明此bean只能应用于当前的用户请求中(保存在servletrequest对象中);session属性表明此bean能应用于当前httpsession生命周期内的所有页面;application属性值则表明此bean能应用于共享servletcontext的所有页面.需要注意的是,当没有具有相同的id与scope对象时,一个jsp:usebean 实体只能作用于一个新的例示中,反之,则作用于以前的对象,这时,在jsp:usebean标签之间的任何jsp:setparameter与其它实体都将被忽略. type 说明将要索引对象的变量类型,它必须与类名及父类名相匹配.记住,这个变量的名字是由id属性值代替的. beanname 给定此bean的名字,可以将其提供给bean的例示方法,只提供beanname与type而忽略class属性的情况是允许的. 下面是标签处理方法类:usebean.java: 【程序编程相关:Caching in ASP.NET】
今天要实现的功能是usebean标签.下表是它的一些属性与用途.(我只选了个比较重要的属性,并没有实现所有属性) 【推荐阅读:项目管理入门】
import javax.servlet.jsp.tagext.*; 【扩展信息:VB与Excel在乘幂运算时的结果差异及】
import javax.servlet.jsp.*;
import java.lang.reflect.*;
//
public class usebean extends tagsupport{ //继承自tagsupport类
private string scope;
private string type;
public usebean(){super();}
/**
*设置属性存取方法,这个方法由容器自动调用.setid()与getid()由系统自动实现
*/
public void setscope(string s) {
this.scope = s;
... 下一页