From a874f75644237aef1907f64d798467ae02a164c1 Mon Sep 17 00:00:00 2001 From: rjy7 Date: Wed, 15 Dec 2010 15:13:11 +0000 Subject: [PATCH] NIHVIVO-1508 Fix title element in jsp pages --- .../freemarker/FreemarkerComponentGenerator.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java index 7056c0785..2aa5f08fd 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java @@ -8,6 +8,7 @@ import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -36,10 +37,8 @@ public class FreemarkerComponentGenerator extends FreemarkerHttpServlet { Map root = getSharedVariables(vreq, new HashMap()); root.putAll(getPageTemplateValues(vreq)); - request.setAttribute("ftl_head", get("head", root, config, vreq)); + request.setAttribute("ftl_head", getHead("head", root, config, vreq)); request.setAttribute("ftl_identity", get("identity", root, config, vreq)); - request.setAttribute("ftl_stylesheets", get("stylesheets", root, config, vreq)); - request.setAttribute("ftl_headScripts", get("headScripts", root, config, vreq)); request.setAttribute("ftl_menu", get("menu", root, config, vreq)); request.setAttribute("ftl_search", get("search", root, config, vreq)); request.setAttribute("ftl_footer", get("footer", root, config, vreq)); @@ -51,6 +50,15 @@ public class FreemarkerComponentGenerator extends FreemarkerHttpServlet { return processTemplate(templateName, root, config, request).toString(); } + private String getHead(String templateName, Map root, Configuration config, HttpServletRequest request) { + // The Freemarker head template displays the page title in the tag. Get the value out of the request. + String title = (String) request.getAttribute("title"); + if (!StringUtils.isEmpty(title)) { + root.put("title", title); + } + return get(templateName, root, config, request); + } + // RY We need the servlet context in getConfig(). For some reason using the method inherited from // GenericServlet bombs. @Override