1 23 24 package org.infoglue.deliver.taglib.content; 25 26 import javax.servlet.jsp.JspException ; 27 28 import org.infoglue.cms.entities.content.ContentVO; 29 import org.infoglue.cms.entities.content.ContentVersionVO; 30 import org.infoglue.deliver.taglib.TemplateControllerTag; 31 32 35 public class ContentVersionTag extends TemplateControllerTag 36 { 37 private static final long serialVersionUID = 3258135773294113587L; 38 39 private ContentVO content; 40 private Integer languageId; 41 private boolean useLanguageFallback = true; 42 43 public ContentVersionTag() 44 { 45 super(); 46 } 47 48 public int doStartTag() throws JspException 49 { 50 return EVAL_BODY_INCLUDE; 51 } 52 53 public int doEndTag() throws JspException 54 { 55 produceResult(getContentVersion()); 56 57 languageId = null; 58 useLanguageFallback = true; 59 60 return EVAL_PAGE; 61 } 62 63 private ContentVersionVO getContentVersion() throws JspException 64 { 65 if(this.languageId == null) 66 this.languageId = getController().getLanguageId(); 67 68 return getController().getContentVersion(content.getContentId(), languageId, useLanguageFallback); 69 } 70 71 public void setContent(String contentExp) throws JspException 72 { 73 this.content = (ContentVO)evaluate("contentVersion", "content", contentExp, ContentVO.class); 74 } 75 76 public void setLanguageId(String languageId) throws JspException 77 { 78 this.languageId = evaluateInteger("contentVersion", "languageId", languageId);; 79 } 80 81 public void setUseLanguageFallback(boolean useLanguageFallback) 82 { 83 this.useLanguageFallback = useLanguageFallback; 84 } 85 } | Popular Tags |