/* $Id: CSPage.java,v 1.1 2002/09/20 23:14:10 jeske Exp $
*
*/
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.lang.String.*;
import org.clearsilver.*;
/**
* The simplest possible servlet.
*
*/
public class CSPage extends HttpServlet {
public HDF hdf;
public CS cs;
public boolean page_debug = true;
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
PrintWriter out = response.getWriter();
hdf = new HDF();
cs = new CS(hdf);
// HTTP headers
Enumeration e = request.getHeaderNames();
while (e.hasMoreElements()) {
String headerName = (String)e.nextElement();
String headerValue = request.getHeader(headerName);
hdf.setValue("HTTP." + headerName,headerValue);
}
hdf.setValue("HTTP.PATH_INFO",request.getPathInfo());
hdf.setValue("CGI.QueryString",request.getQueryString());
hdf.setValue("CGI.RequestMethod",request.getMethod());
// Querystring paramaters
e = request.getParameterNames();
while (e.hasMoreElements()) {
String paramName = (String)e.nextElement();
String paramValue = request.getParameter(paramName);
hdf.setValue("Query." + paramName,paramValue);
}
// Cookies
Cookie[] cookies = request.getCookies();
if (cookies.length > 0) {
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
hdf.setValue("Cookie." + cookie.getName(),cookie.getValue());
}
}
// CGI example
// check for Actions
// then call display method
this.display();
// run required page template through CS
// cs.parseFile(a_template_file);
// Page Output
/* first do cookies
String cookieName = request.getParameter("cookiename");
String cookieValue = request.getParameter("cookievalue");
if (cookieName != null && cookieValue != null) {
Cookie cookie = new Cookie(cookieName, cookieValue);
response.addCookie(cookie);
out.println("<P>");
out.println(rb.getString("cookies.set") + "<br>");
out.print(rb.getString("cookies.name") + " " + cookieName +
"<br>");
out.print(rb.getString("cookies.value") + " " + cookieValue);
}
*/
response.setContentType("text/html");
out.print(cs.render());
// debug
if (page_debug) {
out.print("<HR><PRE>");
out.print(hdf.dump());
out.print("</PRE>");
}
}
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
doGet(request, response);
}
public void display() {
hdf.setValue("Foo.Bar","1");
cs.parseStr("Hello Clearsilver<p><TABLE BORDER=1><TR><TD>Foo.Bar</TD><TD><?cs var:Foo.Bar ?></TD></TR></TABLE>");
}
}