/** * Este arquivo é parte do Biblivre3. * * Biblivre3 é um software livre; você pode redistribuí-lo e/ou * modificá-lo dentro dos termos da Licença Pública Geral GNU como * publicada pela Fundação do Software Livre (FSF); na versão 3 da * Licença, ou (caso queira) qualquer versão posterior. * * Este programa é distribuído na esperança de que possa ser útil, * mas SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de * MERCANTIBILIDADE OU ADEQUAÇÃO PARA UM FIM PARTICULAR. Veja a * Licença Pública Geral GNU para maiores detalhes. * * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto * com este programa, Se não, veja em <http://www.gnu.org/licenses/>. * * @author Alberto Wagner <alberto@biblivre.org.br> * @author Danniel Willian <danniel@biblivre.org.br> * */ package biblivre3.layout; import biblivre3.config.Config; import biblivre3.config.ConfigurationEnum; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.BodyContent; import javax.servlet.jsp.tagext.BodyTagSupport; import mercury.I18nUtils; public class Head extends BodyTagSupport { public Head() { super(); } private void writeTagBodyContent(JspWriter out, BodyContent bodyContent) throws IOException { bodyContent.writeOut(out); bodyContent.clearBody(); } @Override public int doStartTag() throws JspException { JspWriter out = pageContext.getOut(); try { out.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"); out.println("<!-- " + ((HttpServletRequest) pageContext.getRequest()).getRequestURI() + " -->"); out.println("<html xmlns=\"http://www.w3.org/1999/xhtml\">"); out.println("<head>"); out.println(" <title>" + Config.getConfigProperty(ConfigurationEnum.LIBRARY_NAME.name()) + "</title>"); out.println(" <link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"images/favicon.ico\" />"); out.println(" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />"); out.println(" <meta http-equiv=\"Cache-Control\" content=\"no-Cache\" />"); out.println(" <meta http-equiv=\"Pragma\" content=\"no-Cache\" />"); out.println(" <meta name=\"google\" value=\"notranslate\" />"); out.println(" <link rel=\"stylesheet\" type=\"text/css\" href=\"css/main.jsp\" />"); out.println(" <script type=\"text/javascript\" src=\"scripts/jquery.js\"></script>"); out.println(" <script type=\"text/javascript\" src=\"scripts/jquery.extras.js\"></script>"); out.println(" <script type=\"text/javascript\" src=\"scripts/i18n_" + I18nUtils.getCurrentLanguage(pageContext.getSession()) + ".js\"></script>"); out.println(" <script type=\"text/javascript\" src=\"scripts/main.js\"></script>"); } catch (Exception e){} return EVAL_BODY_BUFFERED; } @Override public int doEndTag() throws JspException { JspWriter out = pageContext.getOut(); try { out.println("</head>"); } catch (Exception e){} return EVAL_PAGE; } @Override public int doAfterBody() throws JspException { try { // This code is generated for tags whose bodyContent is "JSP" BodyContent bodyCont = getBodyContent(); JspWriter out = bodyCont.getEnclosingWriter(); writeTagBodyContent(out, bodyCont); } catch (Exception ex) { handleBodyContentException(ex); } return EVAL_PAGE; } private void handleBodyContentException(Exception ex) throws JspException { // Since the doAfterBody method is guarded, place exception handing code here. throw new JspException("Error in Head tag", ex); } }