终于把这本书看完了,连带里面的例子都作了一遍,总的来说,这本书还是挺不错的,但是翻译的错误稍微多了点,还有好几个例子有问题,讲TagSupport的一个例子竟然都死循环了,一眼就能看出来的错误。
刚把Tag File看完,但是这个部分讲的不太全,所以上网找了找文档,下面两个文档里的一些东西是书中没有介绍的,但是也是挺重要的,是与旧的BodyTagSupport相呼应的功能:
1、http://www.Oracle.com/technology/sample_code/tutorials/jsp20/tagfiles.Html
2、http://www.mhavila.com.br/topicos/Java/JSP-QuickRef.pdf
另外还有补充一点,在扩展SimpleTagSupport的Tag类中也是可以直接得到标签中间的body的,就相当于BodyTagSupport类中的getBodyContent().getString()方法,这个书中也没有讲,代码如下:
StringWriter writer = new StringWriter();
getJspBody().invoke(writer);
System.out.println(writer.getBuffer());
我们常用的getJspBody().invoke(null);是直接将body的内容输出到默认的jspWriter上的,上面代码中,我们自己构建一个StringWriter,让程序自动把body内容输出到StringWriter 中,然后就可以得到body的内容,有了body内容后,我们就可以随便处理它了。另外getJspBody()返回的是一个JspFragment对象,所以对于所有我们自己定义的
JspFragment对象,都可以通过这种方式来等到JspFragment里面的内容。