1 /* $Id: CSPage.java,v 1.1 2002/09/20 23:14:10 jeske Exp $ 2 * 3 */ 4 5 import java.io.*; 6 import java.text.*; 7 import java.util.*; 8 import javax.servlet.*; 9 import javax.servlet.http.*; 10 11 import java.lang.String.*; 12 13 import org.clearsilver.*; 14 15 /** 16 * The simplest possible servlet. 17 * 18 */ 19 20 public class CSPage extends HttpServlet { 21 public HDF hdf; 22 public CS cs; 23 public boolean page_debug = true; 24 doGet(HttpServletRequest request, HttpServletResponse response)25 public void doGet(HttpServletRequest request, 26 HttpServletResponse response) 27 throws IOException, ServletException 28 { 29 30 31 PrintWriter out = response.getWriter(); 32 hdf = new HDF(); 33 cs = new CS(hdf); 34 35 // HTTP headers 36 Enumeration e = request.getHeaderNames(); 37 while (e.hasMoreElements()) { 38 String headerName = (String)e.nextElement(); 39 String headerValue = request.getHeader(headerName); 40 hdf.setValue("HTTP." + headerName,headerValue); 41 } 42 43 44 hdf.setValue("HTTP.PATH_INFO",request.getPathInfo()); 45 hdf.setValue("CGI.QueryString",request.getQueryString()); 46 hdf.setValue("CGI.RequestMethod",request.getMethod()); 47 48 // Querystring paramaters 49 e = request.getParameterNames(); 50 while (e.hasMoreElements()) { 51 String paramName = (String)e.nextElement(); 52 String paramValue = request.getParameter(paramName); 53 hdf.setValue("Query." + paramName,paramValue); 54 } 55 56 57 // Cookies 58 59 Cookie[] cookies = request.getCookies(); 60 if (cookies.length > 0) { 61 for (int i = 0; i < cookies.length; i++) { 62 Cookie cookie = cookies[i]; 63 hdf.setValue("Cookie." + cookie.getName(),cookie.getValue()); 64 } 65 } 66 67 // CGI example 68 // check for Actions 69 70 71 // then call display method 72 this.display(); 73 74 // run required page template through CS 75 // cs.parseFile(a_template_file); 76 77 // Page Output 78 79 80 /* first do cookies 81 82 String cookieName = request.getParameter("cookiename"); 83 String cookieValue = request.getParameter("cookievalue"); 84 if (cookieName != null && cookieValue != null) { 85 Cookie cookie = new Cookie(cookieName, cookieValue); 86 response.addCookie(cookie); 87 out.println("<P>"); 88 out.println(rb.getString("cookies.set") + "<br>"); 89 out.print(rb.getString("cookies.name") + " " + cookieName + 90 "<br>"); 91 out.print(rb.getString("cookies.value") + " " + cookieValue); 92 } 93 94 */ 95 96 response.setContentType("text/html"); 97 out.print(cs.render()); 98 99 100 // debug 101 if (page_debug) { 102 out.print("<HR><PRE>"); 103 out.print(hdf.dump()); 104 out.print("</PRE>"); 105 } 106 107 } 108 doPost(HttpServletRequest request, HttpServletResponse response)109 public void doPost(HttpServletRequest request, 110 HttpServletResponse response) throws IOException, ServletException { 111 doGet(request, response); 112 } 113 display()114 public void display() { 115 hdf.setValue("Foo.Bar","1"); 116 cs.parseStr("Hello Clearsilver<p><TABLE BORDER=1><TR><TD>Foo.Bar</TD><TD><?cs var:Foo.Bar ?></TD></TR></TABLE>"); 117 } 118 119 120 } 121 122 123 124