/* <servlet>
<servlet-name>PrintTable</servlet-name>
<servlet-class>PrintTable</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PrintTable</servlet-name>
<url-pattern>/PrintTable</url-pattern>
</servlet-mapping>
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Vector;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class PrintTable extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
printTable(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
printTable(request, response);
}
public void printTable(HttpServletRequest request,
HttpServletResponse response) throws IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HtmlUtils hu = new HtmlUtils();
out.print(hu.createHtmlHeader("Print Table"));
out.print(hu.getTableHead("center", 1));
out.print(hu.getTH("center", "First Name"));
out.print(hu.getTH("center", "Last Name"));
out.print(hu.getTH("center", "Favorite Color"));
out.print(hu.getTH("center", "Gender"));
Vector av = new Vector();
av.addElement("John");
av.addElement("Sample");
av.addElement("Purple");
av.addElement("Male");
av.addElement("Joe");
av.addElement("Bloggs");
av.addElement("Green");
av.addElement("Male");
av.addElement("Fanny");
av.addElement("May");
av.addElement("Blue");
av.addElement("Female");
av.addElement("Joeline");
av.addElement("Bloggs");
av.addElement("Red");
av.addElement("Female");
out.print(hu.getTableContents("center", av, 4));
out.print(hu.getHtmlFooter());
}
}
class HtmlUtils {
public String createHtmlHeader(String title) {
String htmlHeader = null;
htmlHeader = "<HTML><HEAD><TITLE> " + title + " </TITLE></HEAD><BODY>";
return htmlHeader;
}
public String getHtmlFooter() {
String htmlFooter = "</BODY></HTML>";
return htmlFooter;
}
public String getHead(int level, String heading) {
return "<H" + level + "> " + heading + "</H" + level + ">";
}
public String getTableHead(String align, int border) {
String tableHeader = null;
tableHeader = "<TABLE align=" + align + " border=" + border + ">";
return tableHeader;
}
public String getTR(String align) {
String TRCell = null;
TRCell = "<TR align=" + align + ">";
return TRCell;
}
public String getTR() {
String TRCell = null;
TRCell = "<TR>";
return TRCell;
}
public String getTD(String align, String value) {
String TDCell = null;
TDCell = "<TD align=" + align + "> " + value + " </TD>";
return TDCell;
}
public String getTD() {
String TDCell = null;
TDCell = "<TD>";
return TDCell;
}
public String getTD(int width) {
String TDCell = null;
TDCell = "<TD WIDTH=" + width + ">";
return TDCell;
}
public String getTH(String align, String value) {
String THCell = null;
THCell = "<TH align=" + align + "> " + value + " </TH>";
return THCell;
}
public String getTableContents(String align, Vector values,
int elementCounter) throws IOException {
StringWriter Cells = new StringWriter();
String contents = new String();
int vsize = values.size();
Cells.write("<TR>");
for (int i = 0; i < vsize; i++) {
String value = values.elementAt(i).toString();
if (i != 0) {
if (i >= elementCounter) {
if (i % elementCounter == 0) {
Cells.write("</TR>\n\n<TR>");
}
}
}
Cells.write("<TD align=" + align + "> " + value + " </TD> \n");
}
Cells.write("</TR>");
contents = Cells.toString();
Cells.flush();
Cells.close();
return contents;
}
public String getClosedTR() {
String TRCell = null;
TRCell = "</TR>";
return TRCell;
}
public String getClosedTD() {
String TDCell = null;
TDCell = "</TD>";
return TDCell;
}
public String getBR(int lines) {
StringWriter lineBR = new StringWriter();
String lineBRs = new String();
for (int i = 0; i <= lines; i++) {
lineBR.write("<BR>\n");
}
lineBRs = lineBR.toString();
return lineBRs;
}
public String getLI(String item) {
String li = new String("<LI>");
li += item;
return li;
}
}
|