您的位置:首页 > Web前端 > JavaScript

JSP自定义标签(4):开发jsp嵌套的标签

2011-04-08 17:43 337 查看
开发嵌套的标签:haveChildTag   实际工程中往往需要多个标签来配合完成一定的功能,嵌套的标签存在父子关系,其中,父为外层标签,子为内层标签。本实例将用两个简单的标签来演示,父标签则作出逻辑判断,如果isOutput属性为true,则输出实例108中的标签helloTag;如果为false,则不输出。   (1)第一步:开发标签实现类。  内层的标签helloTag在实例108中已有,此处不再列出。  haveChildTag.java   package hello;   import javax.servlet.jsp.tagext.BodyTagSupport;     public class haveChildTag extends BodyTagSupport {    private boolean isOutput;//是否输出子标签内容   //----标签开始时调用此方法-------   public int doStartTag(){   if(isOutput)   return EVAL_BODY_INCLUDE;   else return SKIP_BODY;    }   //----标签结束时调用此方法-------   public int doEndTag(){    try{    if(bodyContent!=null) bodyContent.writeOut(bodyContent.getEnclosingWriter());   }catch(Exception e){   System.out.println(e);   }   return EVAL_PAGE;   }   public boolean getIsOutput() {   return isOutput;    }   public void setIsOutput(boolean isOutput) {    this.isOutput = isOutput;   }   }   (2)第二步:编写标签描述tld文件。  本例在myTag.tld文件中增加内容。在与之间增加的如下内容:  

  

haveChildTag

hello.haveChildTag

jsp

isOutput true true      (3)第三步:在Web应用的web.xml文件中声明标签库引用。  同样,本例与本章前面的实例使用同一个tld文件,此处不必再修改。   (4)第四步:在JSP页面中声明并调用标签。  useHaveChildTag.jsp   

  

  

              输出子标签时的结果:

不输出子标签时的结果:

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: