当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 自定义标签必须实现下面三个接口中的一个:Tag、IterationTag、BodyTag 1.Tag 如果要实现这个接口,可以通过扩展TagSupport这个类,来写自己需要的方法,而不需要把Tag接口中的所有方法实现。
 

 

 ·开源代码:jsplashwindow    »显示摘要«
    摘要: package nicholas.swing; import java.awt.*;import java.awt.event.*;import javax.swing.*; /** * <p>title: jsplashwindow</p> * <p>description: start up window</p> * <p>co......
 ·理解jtwi的具体内容和作用    »显示摘要«
    摘要: cldc1.0是在2000年的10月份推出的,随后sun又发布了包括rms和ui等特性的midp1.0,这对业界的震动很大,很快就有开发者针对移动信息设备开发应用了。随着设备能力的提高在jsr118又推出了功能更为强大的midp2.0。但是从midp1.0的发展历程可以看到一些问题,由于cldc1.0+midp1.0的配合提供的api有限,所有各个厂商就开发了自己设备独有的api。同时为了针对......


自定义taglib的开发

自定义标签必须实现下面三个接口中的一个: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,即只能接受静态值.


...   下一页
    摘要: 对于gb2312来讲, 首字节码位从0×81 至0×fe,尾字节码位分别是0×40 至0×fe public boolean isgb2312( string str ){ char[] chars = str.tochararray(); boolean isgb2312 = false; for ( int i = 0; i < chars.l......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE