From 311f6b2b33e2f8f32848d1b01e169d0d115080af Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Mon, 2 Nov 2015 00:45:07 +0100 Subject: Add repeat tag. --- WebContent/WEB-INF/repeat.tld | 16 ++++++ src/de/fhswf/in/inf/fit/aufgabe4/Repeat.java | 75 ++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 WebContent/WEB-INF/repeat.tld create mode 100644 src/de/fhswf/in/inf/fit/aufgabe4/Repeat.java diff --git a/WebContent/WEB-INF/repeat.tld b/WebContent/WEB-INF/repeat.tld new file mode 100644 index 0000000..f34873b --- /dev/null +++ b/WebContent/WEB-INF/repeat.tld @@ -0,0 +1,16 @@ + + 1.0 + 3.0 + Custom Repeat Tag + + Repeat + de.fhswf.in.inf.fit.aufgabe4.Repeat + Repeats the body multiple times. + scriptless + + times + The amount of times the body is printed. + true + + + \ No newline at end of file diff --git a/src/de/fhswf/in/inf/fit/aufgabe4/Repeat.java b/src/de/fhswf/in/inf/fit/aufgabe4/Repeat.java new file mode 100644 index 0000000..d644ff9 --- /dev/null +++ b/src/de/fhswf/in/inf/fit/aufgabe4/Repeat.java @@ -0,0 +1,75 @@ +/** + * + */ +package de.fhswf.in.inf.fit.aufgabe4; + +import java.io.IOException; + +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.tagext.BodyTagSupport; + +/** + * Handler for the repeat tag. + * + * @author Stefan Suhren + * @version 1.0 + */ +public class Repeat extends BodyTagSupport +{ + /** + * Required attribute for {@link BodyTagSupport}. + */ + private static final long serialVersionUID = 1L; + + /** + * The number of times the Body will be printed. + */ + private int times = 0; + + /** + * Getter for property times. + * + * @return Returns the times. + */ + public int getTimes() + { + return times; + } + + /** + * Setter for property times. + * + * @param times + * The times to set. + */ + public void setTimes(int times) + { + this.times = times; + } + + /* + * (non-Javadoc) + * + * @see javax.servlet.jsp.tagext.BodyTagSupport#doEndTag() + */ + @Override + public int doEndTag() throws JspException + { + String bodyText = bodyContent.getString(); + + for (int i = 0; i < times; i++) + { + try + { + pageContext.getOut().print(bodyText); + } + catch (IOException e) + { + e.printStackTrace(); + } + } + + return EVAL_PAGE; + } + +} -- cgit v1.2.3-70-g09d2