Package org.apache.struts2.jquery.views.jsp.ui

Source Code of org.apache.struts2.jquery.views.jsp.ui.AccordionItemTag

package org.apache.struts2.jquery.views.jsp.ui;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.Tag;

import org.apache.struts2.components.Component;
import org.apache.struts2.jquery.components.AccordionItem;

import com.opensymphony.xwork2.util.ValueStack;

public class AccordionItemTag extends AbstractContainerTag {

  private static final long serialVersionUID = 5589579304411513754L;

    private String isActive;    //set to true to make this the initial active menu item (only one item should have this)
    private String cache;      //If set to true and the contents are remotely loaded ('src' provided), contents will only be loaded once. Otherwise contents will be reloaded each time the item is expanded (default=false)
    private String lazyLoad;    //If set to true and the contents are remotely loaded ('src' provided), contents will not be loaded at first until the item is expanded (default=false).
    private String headerClass;    //The class to add to the header element
   
  public AccordionItemTag() {
    super();
  }
     
    public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
    Component bean = new AccordionItem(stack, req, res);
    return bean;
    }

  @Override
    protected void populateParams() {
       
    super.populateParams();
   
    AccordionItem accordionItem = (AccordionItem) component;
    accordionItem.setIsActive(isActive);
    accordionItem.setLazyLoad(lazyLoad);
    accordionItem.setCache(cache);
    accordionItem.setHeaderClass(headerClass);
 
  }
 
  @Override
  public int doEndTag() throws JspException {
   
    Tag accordionTag = this.getParent();

    while(accordionTag != null) {

      if((accordionTag instanceof AccordionTag)) {
       
        ((AccordionTag)accordionTag).addItem((AccordionItem)component);
     
        return super.doEndTag();
     
      } else {
       
        accordionTag = accordionTag.getParent();
      }
    }
   
    throw new JspTagException("AccordionItem tag must be inside Accordion Tag");
 
  }
 
  public void setIsActive(String isActive) {
    this.isActive = isActive;
  }
 
  public void setLazyLoad(String lazyLoad) {
    this.lazyLoad = lazyLoad;
  }
 
  public void setCache(String cache) {
    this.cache = cache;
  }

  public void setHeaderClass(String headerClass) {
    this.headerClass = headerClass;
  }
}
TOP

Related Classes of org.apache.struts2.jquery.views.jsp.ui.AccordionItemTag

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.