自定义标签必须实现下面三个接口中的一个:tag.iterationtag.bodytag
如果要实现这个接口,可以通过扩展tagsupport这个类,来写自己需要的方法,而不需要把tag接口中的所有方法实现. 【程序编程相关:·在Tomcat中使用JAAS】1.tag 【推荐阅读:初学J2EE会碰到的一些问题】
dostarttag().doendtag().getparent().setparent().release().setpagecontext() 【扩展信息:设计模式之Strategy(策略)】 tag接口的方法: 在tag类代码中不能像jsp一样,直接使用out隐含对象,他有一个对象可以使用pagecontext,通过它的getout()方法可以得到out对象.在标签内部,访问任何的隐含对象,都是通过调用pagecontext的set方法.2.iterationtag
iterationtag接口与tag接口类似,用于当一个自定义标签需要重复计算它的代码体的情况下.它扩展tag接口并实现了一个新的方法doafterbody()来实现循环,这个方法只有从dostarttag()返回eval_body_include时才被调用.在执行doafterbody()方法时,如果返回的是eval_body_again,那么将再次执行doafterbody()方法,直到doafterbody()返回的是skip_body或者eval_body_include.3.bodytag
bodytag接口扩展了iterationtag并提供了对代码体内容进行操作的功能.就是在计算代码体的时候可以对已经形成的代码体进行修改.bodycontent对象就是用来保存对自定义标签体计算的结果.它有一个新方法doinitbody(),这个方法只有在dostarttag()方法返回eval_body_buffered时才调用,此时它将创建一个bodycontent对象保存结果.扩展自定义标签:
添加属性 首先要在tld文件中加入一个属性元素,然后在java文件中需要定义这个属性以及它的的setter方法.属性<attribute>元素有四个子元素分别是<name>.<required>.<rtexprvalue>.<description>,这里<rtexprvalue>表示的是属性是否接受scriptlet表达式的计算结果,默认情况下为false,即只能接受静态值.... 下一页