Tenta isso:

=========================== tag pai =============================


import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.tagext.BodyTagSupport;

public class TagPai extends BodyTagSupport {

      private int contador=0;

      public int doStartTag() {

            return EVAL_BODY_INCLUDE;
      }

      public int doAfterBody() {
            contador++;

            if (contador>3)
                  return SKIP_BODY;

            return EVAL_BODY_AGAIN;
      }

      public int doEndTag() {
            contador=0;
            return EVAL_PAGE;
      }

      public String getContador() {
            return contador;
      }

}

=========================== tag pai =============================


=========================== tag filha ===========================


import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

public class TagFilha extends TagSupport {

      public int doStartTag() {
            TagPai tagpai = (TagPai) findAncestorWithClass(this,
TagPai.class);
            if (tagpai==null) return EVAL_BODY_INCLUDE;
            int contador = tagpai.getContador();

            JspWriter out = pageContext.getOut();
            try {
            out.print(contador);
            } catch (Exception e) {}
            return EVAL_PAGE;
      }



}

=========================== tag filha ===========================



[]s Luis Henrique "Bulinha"




                                                                                       
                                                     
                      "Luiz Roberto"                                                   
                                                     
                      <[EMAIL PROTECTED]         Para:    "[EMAIL PROTECTED]" <[EMAIL 
PROTECTED]>                        
                      web.com.br>                   cc:                                
                                                     
                                                    Assunto: [JUG-Petro] D�vida sobre 
taglib persiste                                       
                      07/07/2004 04:30 PM                                              
                                                     
                      Responder a                                                      
                                                     
                      jug-petropolis                                                   
                                                     
                                                                                       
                                                     



Ainda continuo com meu estudo em taglib e aparecem algumas d�vida. Vou
postar aqui um c�digo simples que exibe 3 vezes o n�mero 1 ao inv�s de
fazer o que eu queria que era aparecer 1, 2 e 3 em cada linha. Por�m quando
eu dou refresh(atualizar) no navegador ele incrementa o valor que est�
aparecendo no momento. Por exemplo: quando carrego a p�gina ele mostra 3
vezes o n�mero 1, quando eu dou refresh aparece 3 vezes o n�mero 2. O que
estou errando?

===> pai.java

mport java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;

public class pai extends BodyTagSupport {

 private int i = 0;

 public int doStartTag()
 {
  return EVAL_PAGE;
 }

 public int getI()
 {
  i = i + 1;
  return i;
 }

 public int doAfterBody() throws JspException
 {
  BodyContent bc = getBodyContent();
  String s = bc.getString();
  JspWriter out = bc.getEnclosingWriter();

  try {
   for(int j = 0; j < 3; j++) {
    out.print(s);
   }
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

  return SKIP_BODY;
 }

}

===> filho.java

import java.io.IOException;

import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyTagSupport;

public class filho extends BodyTagSupport {

 public int doStartTag()
 {
  JspWriter out = pageContext.getOut();
  pai papa = (pai)findAncestorWithClass(this, pai.class);
  try {
   out.print(papa.getI());
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return SKIP_BODY;
 }

}

===> teste.jsp

< %@ taglib uri="/iterate" prefix="it"% >
< it:pai >
    < table border=10 >< tr >< td >
        < it:filho/ >
    < /td >< /tr >< /table >
< /it:pai >



   
 Y 
 a 
 h 
 o 
 o 
 ! 
 G 
 r 
 o 
 u 
 p 
 s 
 S 
 p 
 o 
 n 
 s 
 o 
 r 
   
   
   
 A 
 D 
 V 
 E 
 R 
 T 
 I 
 S 
 E 
 M 
 E 
 N 
 T 
   
   
   
   
   



Yahoo! Groups Links
      To visit your group on the web, go to:
      http://groups.yahoo.com/group/jug-petropolis/

      To unsubscribe from this group, send an email to:
      [EMAIL PROTECTED]

      Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.





------------------------ Yahoo! Groups Sponsor --------------------~--> 
Yahoo! Domains - Claim yours for only $14.70
http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/5cFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/jug-petropolis/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Atrašyti