HtmlPage.java |
package server.servlets; /** * The HtmlPage class encapsulates the functionality * required to prepare an HTML script to display in * a browser. This class provides methods to construct * various HTML elements such as forms, list boxes, * anchor tags and headlines. * * @author Robert Lysik * @version 1.00 */ public class HtmlPage { private String strTitle; private String strBody; /** * This is the default constructor for the HtmlPage class. * An empty title tag is provided for the title string, as * well as the opening tag for the body section of the * HTML page. */ public HtmlPage() { strTitle = new String("<head><title></title></head>"); strBody = new String("<body>"); } /** * This constructor takes a String as an argument which * is used to initialize the title of the page. * * @param String the title of the page */ public HtmlPage(String title) { strTitle = new String("<head><title>" + title + "</title></head>"); strBody = new String("<body>"); } /** * This function inserts a line break into the HTML * script. */ public void addBreak() { strBody += "<br>\r\n"; } /** * This function inserts a headline tag with the * value provided as a parameter to the function, * as well as the text to be displayed. * * @param int the headline type * @param String the headline text */ public void addHeadline(int headlineType, String headlineText) { strBody += "<h" + headlineType + ">"; strBody += headlineText; strBody += "</h" + headlineType + ">\r\n"; } /** * This function inserts a hidden input control * tag into the HTML script. * * @param String name of hidden tag * @param String value of hidden tag */ public void addHidden(String name, String value) { strBody += "<input type = " + quote("hidden") + " name = " + quote(name) + " value = " + quote(value) + ">\r\n"; } /** * This function creates an input element for a form. Input * elements, such as text boxes, radio buttons, and checkboxes * allow the user of an HTML page to enter information which * may then be processed by another page, or by script within * the existing page. These elements must be enclosed within * form tags in order for correct processing. * * @param String the type of form input, i.e. text, radio, checkbox * @param String the name of the input element * @param String the value associated with this element * @param String the size of the element */ public void addInput(String type, String name, String value, String size) { strBody += "<input type = " + quote(type) + " name = " + quote(name) + " value = " + quote(value) + " size = " + quote(size) + ">\r\n"; } /** * This function adds submit button to a form in an HTML page. * * @param String the text to be displayed on the submit button */ public void addSubmit(String value) { strBody += "<input type = " + quote("submit") + " value = " + quote(value) + ">\r\n"; } /** * This function adds a normal text string to the * HTML script. * * @param String the text to be displayed */ public void addText(String text) { strBody += text + "\r\n"; } /** * This function adds a closing form HTML tag. */ public void endForm() { strBody += "</form>\r\n"; } /** * This function returns the HTML script to generate the * page as it is currently defined. The title and body * elements of the HTML page are enclosed in opening and closing * HTML tags. */ public String getHtml() { String html = new String(); html = "<html>" + strTitle + strBody + "</body>" + "</html>"; return html; } /** * This function creates an input element which is called a * select list. This is a drop down list box, if the size * of the list box is set to one, or a normal list box if * the size is greater than one. This element must be * encapsulated within the FORM section of an HTML page in * order for correct processing to occur. * * @param String the name of the select list * @param String the size of the select list. If set to * one, this becomes a drop down list box. * @param String the values associated with the list box * @param String the text displayed in the list box. */ public String getSelect(String name, String size, String values[], String text[]) { String select = new String(); // The opening tag for the select list includes // the name of the list and its size. select += "<select name = " + quote(name) + " size = " + quote(size) + ">\r\n"; // Each element of the list box is then added, prefixed // by the OPTION tag. for (int index = 0; index < values.length; index++) { select += "<option value = " + quote(values[index]) + ">" + text[index] + "\r\n"; } // The closing tag for the select list is then added select += "</select>\r\n"; return select; } /** * This function returns a string which is surrounded * by quotes. * * @param String the string to be encapsulated in quotes */ public String quote(String s) { return '\"' + s + '\"'; } /** * This function inserts the opening tag for a form into * the HTML script. * * @param String the method of form submission, either * post or get. * @param String the action attribute of the form. */ public void startForm(String method, String action) { strBody += "<form method = " + quote(method) + " action = " + quote(action) + ">\r\n"; } }