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.struts.taglib.TagUtils; 21 22 import javax.servlet.jsp.JspException ; 23 import javax.servlet.jsp.JspTagException ; 24 import javax.servlet.jsp.PageContext ; 25 import java.io.IOException ; 26 import java.io.StringWriter ; 27 import java.util.Map ; 28 29 30 47 public class PrevPageTag extends BaseHandlerTag { 48 49 55 public void doTag() throws JspException , IOException { 56 57 PageContext pageContext = (PageContext ) getJspContext(); 58 59 PagerTag parentPagerTag = (PagerTag) findAncestorWithClass(this, PagerTag.class); 60 61 if ( parentPagerTag == null ) { 62 JspTagException e = new JspTagException ("Parent tag is invalid! This tag is only valid when nested within 'pager' tag"); 63 throw e; 64 } 65 66 GridTag parentGridTag = (GridTag) findAncestorWithClass(this, GridTag.class); 67 68 int currentPageNumber = parentGridTag.getCurrentPageNumber().intValue(); 69 int firstPageNumber = 1; 70 71 if ( currentPageNumber > firstPageNumber ) { 72 73 String pageUrl = parentGridTag.getPageUrl(); 74 75 Map parameterMap = parentGridTag.getParameterMap(); 76 parameterMap.put("pageNumber", String.valueOf(currentPageNumber - 1)); 77 parameterMap.put("gridName", parentGridTag.getName()); 78 pageUrl += "?" + RequestUtil.createQueryStringFromMap(parameterMap, "&"); 79 80 StringWriter sw = new StringWriter (); 81 StringBuffer sb = sw.getBuffer(); 82 sb.append("<a HREF=\"").append(pageUrl).append("\"").append(prepareAttributes()).append(">"); 83 getJspBody().invoke(sw); 84 sb.append("</a>"); 85 TagUtils.getInstance().write(pageContext, sw.toString()); 86 } 87 } 88 89 } 90 | Popular Tags |