From 99a080ad3f7806c95f424728daac50e61f86b33c Mon Sep 17 00:00:00 2001
From: rjy7
Date: Thu, 27 May 2010 19:43:56 +0000
Subject: [PATCH] Corrected path to templates in FreeMarkerComponentGenerator.
Contact form gets form action passed in by controller. Updated some comments.
---
.../freemarker/BrowseController.java | 4 --
.../freemarker/ContactFormController.java | 2 +-
.../FreeMarkerComponentGenerator.java | 4 +-
.../freemarker/FreeMarkerHttpServlet.java | 47 +++++++++++++++++--
.../freemarker/body/contactForm/form.ftl | 2 +-
5 files changed, 48 insertions(+), 11 deletions(-)
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java
index afb6e1e6d..ac2ff7ca1 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java
@@ -72,10 +72,6 @@ public class BrowseController extends FreeMarkerHttpServlet {
String bodyTemplate = "classGroups.ftl";
String message = null;
- // Set main page template attributes specific to this page
- // But the template should control this! Try putting in a div inside the content.
- //root.put("contentClass", "siteMap");
-
if( vreq.getParameter("clearcache") != null ) //mainly for debugging
clearGroupCache();
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactFormController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactFormController.java
index c579430b1..32a5790a6 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactFormController.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactFormController.java
@@ -72,8 +72,8 @@ public class ContactFormController extends FreeMarkerHttpServlet {
body.put("portalType", portalType);
body.put("portalId", portalId);
+ body.put("formAction", "submitFeedback");
- // Not used in template. Is it used in processing the form?
if (vreq.getHeader("Referer") == null) {
vreq.getSession().setAttribute("contactFormReferer","none");
} else {
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 ea687168b..5d6409ad1 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
@@ -20,7 +20,7 @@ public class FreeMarkerComponentGenerator extends FreeMarkerHttpServlet {
private static final long serialVersionUID = 1L;
private static final Log log = LogFactory.getLog(FreeMarkerHttpServlet.class.getName());
- public FreeMarkerComponentGenerator(HttpServletRequest request, HttpServletResponse response) {
+ FreeMarkerComponentGenerator(HttpServletRequest request, HttpServletResponse response) {
doSetup(request, response);
}
@@ -41,7 +41,7 @@ public class FreeMarkerComponentGenerator extends FreeMarkerHttpServlet {
}
private String get(String templateName) {
- String template = "components/" + templateName + ".ftl";
+ String template = "page/partials/" + templateName + ".ftl";
return mergeToTemplate(template, root).toString();
}
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 f777388b4..7212754c1 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
@@ -56,6 +56,9 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
protected int portalId;
protected String appName;
protected UrlBuilder urlBuilder;
+
+ // RY Change to private. Only used now by FreeMarkerComponentGenerator, which
+ // can be moved here as a nested class. Subclasses should not use root.
protected Map root = new HashMap();
public void doGet( HttpServletRequest request, HttpServletResponse response )
@@ -85,10 +88,10 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
try {
super.doGet(request,response);
} catch (ServletException e) {
- log.error("Servlet exception calling VitroHttpRequest.doGet()");
+ log.error("ServletException calling VitroHttpRequest.doGet()");
e.printStackTrace();
} catch (IOException e) {
- log.error("IO exception calling VitroHttpRequest.doGet()");
+ log.error("IOException calling VitroHttpRequest.doGet()");
e.printStackTrace();
}
}
@@ -331,7 +334,7 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
}
}
- // Can be overridden by individual controllers
+ // Can be overridden by individual controllers to use a different basic page layout.
protected String getPageTemplateName() {
return "default.ftl";
}
@@ -354,4 +357,42 @@ public class FreeMarkerHttpServlet extends VitroHttpServlet {
request.setAttribute("ftl_footer", fcg.getFooter());
}
+ /**
+ * TEMPORARY for transition from JSP to FreeMarker. Once transition
+ * is complete and no more pages are generated in JSP, this can be removed.
+ *
+ * @author rjy7
+ *
+ */
+// public class FreeMarkerComponentGenerator extends FreeMarkerHttpServlet {
+//
+// private static final long serialVersionUID = 1L;
+//
+// FreeMarkerComponentGenerator(HttpServletRequest request, HttpServletResponse response) {
+// doSetup(request, response);
+// }
+//
+// public String getIdentity() {
+// return get("identity");
+// }
+//
+// public String getMenu() {
+// return get("menu");
+// }
+//
+// public String getSearch() {
+// return get("search");
+// }
+//
+// public String getFooter() {
+// return get("footer");
+// }
+//
+// private String get(String templateName) {
+// String template = "partials/" + templateName + ".ftl";
+// return mergeToTemplate(template, root).toString();
+// }
+//
+// }
+
}
\ No newline at end of file
diff --git a/webapp/web/templates/freemarker/body/contactForm/form.ftl b/webapp/web/templates/freemarker/body/contactForm/form.ftl
index 84b8ebbf5..edd3af4b9 100644
--- a/webapp/web/templates/freemarker/body/contactForm/form.ftl
+++ b/webapp/web/templates/freemarker/body/contactForm/form.ftl
@@ -27,7 +27,7 @@
#if>
-