1 23 24 package org.infoglue.deliver.taglib.management; 25 26 import javax.servlet.jsp.JspException ; 27 28 import org.infoglue.cms.entities.management.LanguageVO; 29 import org.infoglue.deliver.taglib.TemplateControllerTag; 30 31 public class LanguageTag extends TemplateControllerTag 32 { 33 private static final long serialVersionUID = 4050206323348354355L; 34 35 private Integer languageId; 36 private String languageCode; 37 38 public LanguageTag() 39 { 40 super(); 41 } 42 43 public int doStartTag() throws JspException 44 { 45 return EVAL_BODY_INCLUDE; 46 } 47 48 public int doEndTag() throws JspException 49 { 50 if(languageId != null) 51 setResultAttribute(getController().getLanguage(languageId)); 52 else if(languageCode != null) 53 { 54 LanguageVO languageVO = getController().getLanguage(languageCode); 55 if(languageVO != null) 56 setResultAttribute(languageVO); 57 else 58 throw new JspException ("There was no valid language with the languageCode:" + languageCode); 59 } 60 else 61 throw new JspException ("Must state either languageId or languageCode"); 62 63 languageId = null; 64 languageCode = null; 65 66 return EVAL_PAGE; 67 } 68 69 public void setLanguageId(final String languageId) throws JspException 70 { 71 this.languageId = evaluateInteger("language", "languageId", languageId); 72 } 73 74 public void setLanguageCode(final String languageCode) throws JspException 75 { 76 this.languageCode = evaluateString("language", "languageCode", languageCode); 77 } 78 79 } 80 | Popular Tags |