1 23 24 package org.infoglue.deliver.taglib.structure; 25 26 import javax.servlet.jsp.JspException ; 27 28 import org.infoglue.deliver.taglib.component.ComponentLogicTag; 29 30 public class RelatedPagesTag extends ComponentLogicTag { 31 private static final long serialVersionUID = 4050206323348354355L; 32 33 private Integer contentId; 34 private String propertyName; 35 private String attributeName; 36 private boolean useInheritance = true; 37 38 39 public RelatedPagesTag() 40 { 41 super(); 42 } 43 44 public int doEndTag() throws JspException 45 { 46 if(contentId != null) 47 { 48 setResultAttribute(getController().getRelatedPages(contentId, attributeName)); 49 } 50 else if(propertyName != null) 51 { 52 setResultAttribute(getComponentLogic().getRelatedPages(propertyName, attributeName)); 53 } 54 else 55 { 56 throw new JspException ("You must specify either contentId or attributeName"); 57 } 58 59 return EVAL_PAGE; 60 } 61 62 public void setPropertyName(String propertyName) throws JspException 63 { 64 this.propertyName = evaluateString("relatedPages", "propertyName", propertyName); 65 } 66 67 public void setUseInheritence(boolean useInheritance) 68 { 69 this.useInheritance = useInheritance; 70 } 71 72 public void setAttributeName(String attributeName) 73 { 74 this.attributeName = attributeName; 75 } 76 77 public void setContentId(String contentId) throws JspException 78 { 79 this.contentId = evaluateInteger("RelatedPagesTag", "contentId", contentId); 80 } 81 82 public void setUseInheritance(boolean useInheritance) 83 { 84 this.useInheritance = useInheritance; 85 } 86 } 87 | Popular Tags |