package br.com.citframework.tld; import javax.servlet.http.HttpSession; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import br.com.citframework.util.UtilI18N; /** * * @author Cleison Ferreira de Melo * @since 21/03/2012 * */ public class I18N extends BodyTagSupport { private static final long serialVersionUID = 2714552161457953214L; private static final Logger LOGGER = Logger.getLogger(I18N.class); private String key; private String locale = UtilI18N.PORTUGUESE_SIGLA; @Override public int doStartTag() throws JspException { try { String siglaLocale = this.getLocale(); final HttpSession session = pageContext.getSession(); if (session != null && session.getAttribute("locale") != null) { final String sessionLocale = session.getAttribute("locale").toString().trim(); if (StringUtils.isNotBlank(sessionLocale)) { siglaLocale = sessionLocale; } } final String value = UtilI18N.internacionaliza(siglaLocale, this.getKey()); pageContext.getOut().print(value); } catch (final Exception e) { LOGGER.warn("Erro nas taglibs: " + e.getMessage(), e); } return SKIP_BODY; } public String getKey() { return key; } public void setKey(final String key) { this.key = key; } public String getLocale() { return locale; } public void setLocale(final String locale) { this.locale = locale; } }