/*
Title: Struts : Essential Skills (Essential Skills)
Authors: Steven Holzner
Publisher: McGraw-Hill Osborne Media
ISBN: 0072256591
*/
//ch08_01.jsp
<%@ taglib prefix="ch08" uri="WEB-INF/ch08_02.tld" %>
<HTML>
<HEAD>
<TITLE>Inserting Text With Custom Tags</TITLE>
</HEAD>
<BODY>
<H1>Inserting Text With Custom Tags</H1>
<ch08:message />
</BODY>
</HTML>
//ch08_04.jsp
<%@ taglib prefix="ch08" uri="WEB-INF/ch08_05.tld" %>
<HTML>
<HEAD>
<TITLE>Handling Custom Tag Attributes</TITLE>
</HEAD>
<BODY>
<H1>Handling Custom Tag Attributes</H1>
<ch08:message text="This text was set using an attribute."/>
</BODY>
</HTML>
//ch08_07.jsp
<%@ taglib prefix="ch08" uri="WEB-INF/ch08_08.tld" %>
<HTML>
<HEAD>
<TITLE>Creating Iterating Tags</TITLE>
</HEAD>
<BODY>
<H1>Creating Iterating Tags</H1>
<%
String[] toppings = new String[]{ "Pepperoni", "Sausage", "Ham", "Olives" };
pageContext.setAttribute("toppings", toppings);
%>
<ch08:iterator>
Topping:
</ch08:iterator>
</BODY>
</HTML>
//ch08_10.jsp
<%@ taglib prefix="ch08" uri="WEB-INF/ch08_11.tld" %>
<HTML>
<HEAD>
<TITLE>Creating Cooperating Tags</TITLE>
</HEAD>
<BODY>
<H1>Creating Cooperating Tags</H1>
<ch08:createToppings/>
<ch08:iterator>
Topping:
</ch08:iterator>
</BODY>
</HTML>
//ch08_13.jsp
<%@ taglib prefix="ch08" uri="WEB-INF/ch08_15.tld" %>
<HTML>
<HEAD>
<TITLE>Custom Tags and Variables</TITLE>
</HEAD>
<BODY>
<H1>Custom Tags and Variables</H1>
<ch08:createToppings/>
<%
for(int loopIndex = 0; loopIndex < toppings.length; loopIndex++) {
out.println("Topping: " + toppings[loopIndex] + "<BR>");
}
%>
</BODY>
</HTML>
package ch08;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
public class ch08_03 extends TagSupport
{
public int doEndTag() throws JspException
{
try {
pageContext.getOut().print("This text is from the custom tag.");
} catch (Exception e) {
throw new JspException(e.toString());
}
return EVAL_PAGE;
}
}
package ch08;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
public class ch08_06 extends TagSupport
{
String text;
public void setText(String s) {
text = s;
}
public int doEndTag() throws JspException
{
try {
pageContext.getOut().print(text);
} catch (Exception e) {
throw new JspException(e.toString());
}
return EVAL_PAGE;
}
}
package ch08;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class ch08_09 extends TagSupport{
private int iterationCounter = 0;
private String[] toppings = null;
public int doStartTag()
{
toppings = (String[]) pageContext.getAttribute("toppings");
return EVAL_BODY_INCLUDE;
}
public int doAfterBody() throws JspException
{
try{
pageContext.getOut().print(" " + toppings[iterationCounter] + "<BR>");
} catch(Exception e){
throw new JspException(e.toString());
}
iterationCounter++;
if(iterationCounter >= toppings.length) {
return SKIP_BODY;
}
return EVAL_BODY_AGAIN;
}
}
package ch08;
import javax.servlet.jsp.tagext.*;
public class ch08_12 extends TagSupport
{
public int doStartTag() {
String[] toppings = new String[] {"Pepperoni", "Sausage", "Ham", "Olives"};
pageContext.setAttribute("toppings", toppings);
return SKIP_BODY;
}
}
|