Initial revision
[mir.git] / source / mir / servlet / ServletModuleShow.java
1 /*
2  * put your module comment here
3  */
4
5 package  mir.servlet;
6
7 import javax.servlet.http.*;
8 import freemarker.template.*;
9 import mir.storage.*;
10
11
12 /**
13  *  Standard ServletModule, dass eine Template anzeigt, und nicht
14  *  mit Daten mischt. Damit ist es moeglich, einfache HTML-Seiten
15  *  als templates zu benutzen. Damit kann auf einfache Weise die
16  *  Funktionalitaet der Freemarker-Bibliothek (beispielsweise Navigationen
17  *  per <code>include</code> einzubauen) benutzt werden. Die Templates
18  *  werden aus dem per Konfiguration angegebenem template-Verzeichnis
19  *  im Ordner "/html" genommen.
20  *
21  * @author RK
22  */
23 public class ServletModuleShow extends ServletModule {
24         private static ServletModuleShow instance = new ServletModuleShow();
25
26         /**
27          * Ein ServletModuleShow-Objekt wird über getInstance geliefert. Es gibt zur
28          * Laufzeit nur ein Objekt (Singleton)
29          * @return ServletModuleShow
30          */
31         public static ServletModule getInstance () {
32                 return  instance;
33         }
34
35         /**
36          * Initialisierung leer.
37          */
38         private ServletModuleShow () {
39         }
40
41         /**
42          * defaultAction (s.a ServletModule)
43          * @return "show"
44          */
45         public String defaultAction () {
46                 return  "show";
47         }
48
49         /**
50          * Standardmethode, die die Funktionalitaet des ServletModules implementiert.
51          *
52          * @param req Http-Request, das vom Dispatcher durchgereicht wird
53          * @param res Http-Response, die vom Dispatcher durchgereicht wird
54          * @return String fuer Logfile
55          * @exception ServletModuleException
56          */
57   public void show(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException {
58     try {
59       String idParam = req.getParameter("tmpl");
60       if (!(idParam==null || idParam.equals(""))) {
61             deliver(req, res, (TemplateModelRoot)null, "html/"+idParam+".template");
62       }
63       else {
64         throw new ServletModuleException("Falsches template: " + idParam);
65       }
66     }
67     catch (Exception e) {
68       throw new ServletModuleException(e.toString());
69     }
70   }
71
72 }
73
74
75
76