Initial revision
[mir.git] / source / mir / servlet / ServletModuleShow.java
diff --git a/source/mir/servlet/ServletModuleShow.java b/source/mir/servlet/ServletModuleShow.java
new file mode 100755 (executable)
index 0000000..6160843
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * put your module comment here
+ */
+
+package  mir.servlet;
+
+import javax.servlet.http.*;
+import freemarker.template.*;
+import mir.storage.*;
+
+
+/**
+ *  Standard ServletModule, dass eine Template anzeigt, und nicht
+ *  mit Daten mischt. Damit ist es moeglich, einfache HTML-Seiten
+ *  als templates zu benutzen. Damit kann auf einfache Weise die
+ *  Funktionalitaet der Freemarker-Bibliothek (beispielsweise Navigationen
+ *  per <code>include</code> einzubauen) benutzt werden. Die Templates
+ *  werden aus dem per Konfiguration angegebenem template-Verzeichnis
+ *  im Ordner "/html" genommen.
+ *
+ * @author RK
+ */
+public class ServletModuleShow extends ServletModule {
+       private static ServletModuleShow instance = new ServletModuleShow();
+
+       /**
+        * Ein ServletModuleShow-Objekt wird über getInstance geliefert. Es gibt zur
+        * Laufzeit nur ein Objekt (Singleton)
+        * @return ServletModuleShow
+        */
+       public static ServletModule getInstance () {
+               return  instance;
+       }
+
+       /**
+        * Initialisierung leer.
+        */
+       private ServletModuleShow () {
+       }
+
+       /**
+        * defaultAction (s.a ServletModule)
+        * @return "show"
+        */
+       public String defaultAction () {
+               return  "show";
+       }
+
+       /**
+        * Standardmethode, die die Funktionalitaet des ServletModules implementiert.
+        *
+        * @param req Http-Request, das vom Dispatcher durchgereicht wird
+        * @param res Http-Response, die vom Dispatcher durchgereicht wird
+        * @return String fuer Logfile
+        * @exception ServletModuleException
+        */
+  public void show(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException {
+    try {
+      String idParam = req.getParameter("tmpl");
+      if (!(idParam==null || idParam.equals(""))) {
+           deliver(req, res, (TemplateModelRoot)null, "html/"+idParam+".template");
+      }
+      else {
+        throw new ServletModuleException("Falsches template: " + idParam);
+      }
+    }
+    catch (Exception e) {
+      throw new ServletModuleException(e.toString());
+    }
+  }
+
+}
+
+
+
+