Prentice Hall and Sun Microsystems. Personal use only; do not redistribute.
14.7 Including or Manipulating the Tag Body Multiple Times
339
Listing 14.19 defines a tag that repeats the body content the number of
times specified by the 
reps
 attribute. Since the body content can contain JSP
(which gets made into servlet code at page translation time but invoked at
request time), each repetition does not necessarily result in the same output
to the client.
Listing 14.19 RepeatTag.java  
package coreservlets.tags;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.io.*;
/** A tag that repeats the body the specified
 *  number of times.
 */
public class RepeatTag extends BodyTagSupport {
  private int reps;
  public void setReps(String repeats) {
    try {
      reps = Integer.parseInt(repeats);
    } catch(NumberFormatException nfe) {
      reps = 1;
    }
  }
    
  public int doAfterBody() {
    if (reps   >= 1) {
      BodyContent body = getBodyContent();
      try {
        JspWriter out = body.getEnclosingWriter();
        out.println(body.getString());
        body.clearBody(); // Clear for next evaluation
      } catch(IOException ioe) {
        System.out.println("Error in RepeatTag: " + ioe);
      }
      return(EVAL_BODY_TAG);
    } else {
      return(SKIP_BODY);
    }
  }
}
Second edition of this book: www.coreservlets.com; Sequel: www.moreservlets.com.
Servlet and JSP training courses by book's author: courses.coreservlets.com.






footer




 

 

 

 

 Home | About Us | Network | Services | Support | FAQ | Control Panel | Order Online | Sitemap | Contact

jsp web hosting

 

Our partners: PHP: Hypertext Preprocessor Best Web Hosting Java Web Hosting Jsp Web Hosting Cheapest Web Hosting

Visionwebhosting.net Business web hosting division of Web Design Plus. All rights reserved