CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

不管高手低手,近来看下!

楼主ccedcj19(扬子鳄)2004-12-02 17:47:58 在 Java / Web 开发 提问

最近研究了三天taglib,就胡鼓弄出了个程序,看看结果实在不明白输出顺序为什么那样,那位给解析解析!分不多,就当研究研究!  
   
  类:  
  package   tag.iteration;  
  import   java.io.*;  
  import   javax.servlet.jsp.*;  
  import   javax.servlet.jsp.tagext.*;  
  public   class   Itefor   extends   BodyTagSupport  
  {  
  private   int   val;  
  public   int   doStartTag()   throws   JspTagException    
  {  
  val=1;  
  for(int   i=0;i<5;i++)  
  {  
  try  
  {  
  pageContext.getOut().print(val);  
   
  }    
  catch   (IOException   e)  
  {  
   
  }  
  }  
  return   EVAL_BODY_BUFFERED;  
  }  
  public   int   doAfterBody()   throws   JspTagException    
  {  
   
   
  val=val+1;  
  BodyContent   bc=getBodyContent();  
  try  
  {  
  bc.print("<h2>We're   in   doAfterBody()</h2>"+val);  
  }  
  catch   (IOException   e)  
  {  
  }  
  String   str=bc.getString();  
  bc.clearBody();  
  for(int   i=0;i<5;i++)  
  {  
   
  try  
  {  
   
  getPreviousOut().print(str);  
  getPreviousOut().print(val);  
   
  }    
  catch   (IOException   e)  
  {  
   
  }  
   
  }  
  return   SKIP_BODY;  
   
  }  
  }  
   
   
  JSP:  
  <%@   taglib   uri="WEB-INF/tlds/goforit.tld"   prefix="goforit"   %>  
  <goforit:for>  
  Helldsdo<br>  
  </goforit:for>  
   
  结果:  
   
  11111   Helldsdo  
   
  We're   in   doAfterBody()  
  22   Helldsdo  
   
  We're   in   doAfterBody()  
  22   Helldsdo  
   
  We're   in   doAfterBody()  
  22   Helldsdo  
   
  We're   in   doAfterBody()  
  22   Helldsdo  
   
  We're   in   doAfterBody()  
  22 问题点数:20、回复次数:3Top

1 楼cnfalcon(中国猎鹰)回复于 2004-12-02 19:29:21 得分 20

<goforit:for>到这里首先调用doStartTag()显示11111,然后显示Helldsdo<br>  
  </goforit:for>到这里开始tag结束调用doAfterBody(),显示以下的内容.Top

2 楼ccedcj19(扬子鳄)回复于 2004-12-03 09:50:42 得分 0

我就是对doAfterBody()里显示内容有疑惑啊?!  
  我本来认为应该显示"<h2>We're   in   doAfterBody()</h2>"+val   一回,  
  然后Helldsdo,2各五次,且Helldsdo应该在前面,但是显示出来一看完全不是那么回事。  
  也怪我,没说清楚。Top

3 楼ccedcj19(扬子鳄)回复于 2004-12-06 09:35:04 得分 0

很差劲Top

相关问题

  • 爱VB很难,不管高手低手进来看看只要回复就给分?
  • javamail 高手看过来(低手免进!!!)
  • 高手低手都来看,关于vxd.
  • 快来看,高低手们,求救!!!!!
  • 低手问题,很急,请看
  • 怎么这也会出错?不管高手低手,指点一下!
  • 低手发问
  • 低手免进...
  • 低手莫入!!
  • 低手求救:

关键词

  • helldsdowe
  • helldsdo
  • 显示
  • val
  • re in doafterbody
  • import

得分解答快速导航

  • 帖主:ccedcj19
  • cnfalcon

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo