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 770ed04a1..93dc438c2 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 @@ -24,7 +24,8 @@ public class FreeMarkerComponentGenerator extends FreeMarkerHttpServlet { private static final Log log = LogFactory.getLog(FreeMarkerHttpServlet.class.getName()); FreeMarkerComponentGenerator(HttpServletRequest request, HttpServletResponse response) { - doSetup(request, response); + doSetup(request, response); + setUpPage(); } public String getIdentity() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreeMarkerHttpServlet.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreeMarkerHttpServlet.java index 206fc3864..2c9a2bc32 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreeMarkerHttpServlet.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreeMarkerHttpServlet.java @@ -67,6 +67,7 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet { try { doSetup(request, response); + setUpPage(); setTitleAndBody(); write(response); @@ -82,7 +83,7 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet { doGet(request, response); } - // Basic setup needed by all controllers + // Basic setup needed by all FreeMarker controllers protected void doSetup(HttpServletRequest request, HttpServletResponse response) { if ( !(this instanceof FreeMarkerComponentGenerator) ) { @@ -100,6 +101,14 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet { vreq = new VitroRequest(request); this.response = response; portal = vreq.getPortal(); + + setTemplateLoader(); + } + + // Setup needed by all controllers that display a full page. + // Controllers that display parts of a page, respond to an Ajax request, etc., do not use this. + protected void setUpPage() { + urlBuilder = new UrlBuilder(portal); // RY Can this be removed? Do templates need it? Ideally, they should not. @@ -111,8 +120,6 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet { appName = portal.getAppName(); setSharedVariable("siteName", appName); - - setTemplateLoader(); TabMenu menu = getTabMenu(); root.put("tabMenu", menu); @@ -123,7 +130,7 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet { root.put("tagline", portal.getShortHand()); root.put("breadcrumbs", BreadCrumbsUtil.getBreadCrumbsDiv(vreq)); - + String themeDir = getThemeDir(); setUrls(themeDir);