1 23 package org.infoglue.deliver.taglib.structure; 24 25 import javax.servlet.jsp.JspException ; 26 27 import org.infoglue.deliver.taglib.component.ComponentLogicTag; 28 29 public class PageUrlTag extends ComponentLogicTag 30 { 31 34 private static final long serialVersionUID = 4050485595074016051L; 35 36 private String propertyName; 37 private boolean useInheritance = true; 38 39 private Integer siteNodeId; 40 private Integer languageId; 41 private Integer contentId = new Integer (-1); 42 43 private String extraParameters; 44 45 public PageUrlTag() 46 { 47 super(); 48 } 49 50 public int doEndTag() throws JspException 51 { 52 produceResult(getPageUrl()); 53 return EVAL_PAGE; 54 } 55 56 private String getPageUrl() throws JspException 57 { 58 if(this.languageId == null) 59 this.languageId = getController().getLanguageId(); 60 61 if(this.propertyName != null) 62 return getComponentLogic().getPageUrl(propertyName, contentId, languageId, useInheritance); 63 else 64 return getController().getPageUrl(siteNodeId, languageId, contentId); 65 } 66 67 public void setSiteNodeId(final String siteNodeId) throws JspException 68 { 69 this.siteNodeId = evaluateInteger("pageUrl", "siteNodeId", siteNodeId); 70 } 71 72 public void setLanguageId(final String languageId) throws JspException 73 { 74 this.languageId = evaluateInteger("pageUrl", "languageId", languageId); 75 } 76 77 public void setContentId(final String contentId) throws JspException 78 { 79 this.contentId = evaluateInteger("pageUrl", "contentId", contentId); 80 } 81 82 public void setPropertyName(String propertyName) throws JspException 83 { 84 this.propertyName = evaluateString("pageUrl", "propertyName", propertyName); 85 } 86 87 public void setUseInheritance(boolean useInheritance) 88 { 89 this.useInheritance = useInheritance; 90 } 91 92 public void setExtraParameters(String extraParameters) 93 { 94 this.extraParameters = extraParameters; 95 } 96 } 97 | Popular Tags |