InvoiceSelected.java
package allaire.samples.invoice.taglib;
import java.io.IOException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
public class InvoiceSelected extends TagSupport {
public int doStartTag() throws JspException, JspTagException {
int result = SKIP_BODY;
String message;
InvoiceIterator parent = (InvoiceIterator)
findAncestorWithClass( this, InvoiceIterator.class );
if ( parent == null ) {
message =
"The <inv:selectedItem> tag must be inside an <inv:foreach> tag.";
throw new JspTagException( message );
}
String value;
if ( parent.isSelectedItem() ) {
value = "selected";
} else {
value = "";
}
try {
pageContext.getOut().print( value );
} catch ( IOException exc ) {
exc.printStackTrace();
throw new JspException( exc.getMessage() );
}
return result;
}
}