package examples.htmlkona; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import weblogic.html.*; /** * This servlet uses Javascript for client-side processing. * * @author Copyright (c) 1996-98 by WebLogic, Inc. All Rights Reserved. * @author Copyright (c) 1999 by BEA WebXpress, Inc. All Rights Reserved. */ public class SimpleFormWithJavascript extends HttpServlet { public synchronized void service(HttpServletRequest req, HttpServletResponse res) throws IOException { try { res.setStatus(HttpServletResponse.SC_OK); res.setContentType("text/html"); ServletPage hp = new ServletPage("Simple Form with Javascript"); FormElement form = new FormElement("", "GET"); // Make a table element for arranging the fields on the form TableElement tab = new TableElement(); // Add the table to the Element form.addElement(tab); // Add one new row, and use addElement() to add 3 cells to the row tab.addElement(new TableRowElement() .addElement(new InputElement("input") .setValue("9 + 3") .setSize(20) .setMaxlen(20)) .addElement(new InputElement("button1", FieldType.button) .setValue("Evaluate") .setOnClick("compute(this.form)")) .addElement(new InputElement("answer") .setValue("The answer is: 12") .setSize(20) .setMaxlen(20))); // Use the getBodyElement() method to set attributes for the BODY tag. hp.getBodyElement() .setAttribute(BodyElement.bgColor, HtmlColor.white); // Call getBody() to add various elements to the page. hp.getBody() .addElement(MarkupElement.HorizontalRule) .addElement(new ScriptElement("document.write(\"This is a simple JavaScript " + "Expression Evaluator.\")")) .addElement(MarkupElement.BeginParagraph) .addElement(new ScriptElement("document.write(\"Enter an expression on the " + "left and click on Evaluate.\")")) // Note that we use "\n" to force newlines in the ScriptElement to make // the JavaScript code line up properly. .addElement(new ScriptElement("function compute(form) {\n" + " if (confirm(\"Evaluate Expression \" + form.input.value + \" ?\"))\n" + " form.answer.value = \"The answer is: \" + eval(form.input.value);\n" + " else\n" + " alert(\"Try again and choose OK.\");\n" + "}")) // Finally, add the form to the page. .addElement(form) .addElement(MarkupElement.HorizontalLine) .addElement("Copyright 1996-99 by WebXpress, Inc. All Rights Reserved."); // Call the htmlKona output method with the return from the // ServletResponse object's getOutputStream() method hp.output(res.getOutputStream()); } catch (Exception e) { defaults.showException(e, res.getOutputStream()); } } }