1 package org.jahia.deprecated.taglibs.util; 2 3 import java.util.Locale ; 4 5 import javax.servlet.http.HttpServletRequest ; 6 import javax.servlet.jsp.JspException ; 7 import javax.servlet.jsp.tagext.TagSupport ; 8 9 import org.jahia.data.JahiaData; 10 import org.jahia.utils.LanguageCodeConverters; 11 12 13 23 public class I18nTag extends TagSupport { 24 25 private static org.apache.log4j.Logger logger = 26 org.apache.log4j.Logger.getLogger(I18nTag.class); 27 28 private static final String CLASS_NAME = I18nTag.class.getName(); 29 30 protected String contentType = "text/html"; protected String charSet = "ISO-8859-1"; 32 33 public void setContentType(String contentType) { 34 this.contentType = contentType; 35 } 36 37 public void setCharSet(String charSet) { 38 this.charSet = charSet; 39 } 40 41 public int doStartTag() { 42 43 HttpServletRequest request = (HttpServletRequest )pageContext.getRequest(); 44 JahiaData jData = (JahiaData) request.getAttribute("org.jahia.data.JahiaData"); 45 46 String jahiaCharSet = ""; 48 if (jData.params().settings().isUtf8Encoding()) { 49 jahiaCharSet = "UTF-8"; 50 } 51 53 StringBuffer buff = new StringBuffer (contentType); 54 buff.append(";"); 55 if (!jahiaCharSet.equals("")) { 56 buff.append("charset="); 57 buff.append(jahiaCharSet); 58 } else if (!charSet.equals("")) { 59 buff.append("charset="); 60 buff.append(charSet); 61 } 62 63 jData.params().getResponse().setContentType(buff.toString()); 64 logger.debug("Content type : " + buff.toString()); 65 66 Locale locale = jData.params().getLocale(); 67 if ( locale != null ){ 68 jData.params().getResponse().setHeader("Content-Language", LanguageCodeConverters.localeToLanguageTag(locale)); 69 jData.params().getResponse().setHeader("Vary","Accept-Language"); 70 } 71 return SKIP_BODY; 72 } 73 74 public int doEndTag() throws JspException { 75 contentType = "text/html"; charSet = "ISO-8859-1"; 79 return EVAL_PAGE; 80 } 81 } 82 | Popular Tags |