How can I set variables from within a custom tag and make them available to the including JSP page?

Jorge Jordão

In 3 simple (and simplified) steps

  • Create a TagExtraInfo subclass, defining the names and types of variables in the return value of the getVariableInfo(TagData) method
    public class MyTagExtraInfo extends TagExtraInfo {
        public VariableInfo[] getVariableInfo(TagData data) {
            return new VariableInfo[] {
                new VariableInfo("name", "java.lang.String", true, VariableInfo.NESTED)
            }
        }
    }
    
  • In the tag handler class, add the variables to the PageContext as attributes
    public class MyTagHandler extends extends TagSupport {
        public int doStartTag() throws JspTagException {
            pageContext.setAttribute("name", "Duke");     
        }
    }
    
  • In the TLD, add a <teiclass> tag specifying the TagExtraInfo subclass
    <tag>
        <name>myTag</name>
        <tagclass>MyTagHandler</tagclass>
        <teiclass>MyTagHandler</teiclass>        
    </tag>
    

Find out more in Chapter 12 of Professional Java Server Programming J2EE Edition available online at java.sun.com.

Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

About | Sitemap | Contact