1 16 package com.blandware.atleap.webapp.taglib.core.grid; 17 18 import com.blandware.atleap.webapp.taglib.core.BaseHandlerTag; 19 import com.blandware.atleap.webapp.util.core.RequestUtil; 20 import org.apache.commons.logging.Log; 21 import org.apache.commons.logging.LogFactory; 22 import org.apache.struts.taglib.TagUtils; 23 24 import javax.servlet.jsp.JspException ; 25 import javax.servlet.jsp.JspTagException ; 26 import javax.servlet.jsp.PageContext ; 27 import java.io.IOException ; 28 import java.io.StringWriter ; 29 import java.util.Map ; 30 31 32 48 public class FirstPageTag extends BaseHandlerTag { 49 50 protected transient final Log log = LogFactory.getLog(FirstPageTag.class); 51 52 58 public void doTag() throws JspException , IOException { 59 60 PageContext pageContext = (PageContext ) getJspContext(); 61 62 PagerTag parentPagerTag = (PagerTag) findAncestorWithClass(this, PagerTag.class); 64 65 if ( parentPagerTag == null ) { 66 JspTagException e = new JspTagException ("Parent tag is invalid! This tag is only valid when nested within 'pager' tag"); 67 throw e; 68 } 69 70 GridTag parentGridTag = (GridTag) findAncestorWithClass(this, GridTag.class); 71 72 74 if ( parentGridTag.getCurrentPageNumber().intValue() > 1 ) { 75 String pageUrl = parentGridTag.getPageUrl(); 76 77 Map parameterMap = RequestUtil.prepareParameterMap(parentGridTag.getParameterMap()); 78 parameterMap.put("pageNumber", new String ("1")); 79 parameterMap.put("gridName", parentGridTag.getName()); 80 pageUrl += "?" + RequestUtil.createQueryStringFromMap(parameterMap, "&"); 81 82 StringWriter sw = new StringWriter (); 83 StringBuffer sb = sw.getBuffer(); 84 sb.append("<a HREF=\"").append(pageUrl).append("\"").append(prepareAttributes()).append(">"); 85 getJspBody().invoke(sw); 86 sb.append("</a>"); 87 TagUtils.getInstance().write(pageContext, sw.toString()); 88 } 89 } 90 91 } 92 | Popular Tags |