01: /*
02: * Copyright (c) 1998-2004 Caucho Technology -- all rights reserved
03: *
04: * This file is part of Resin(R) Open Source
05: *
06: * Each copy or derived work must preserve the copyright notice and this
07: * notice unmodified.
08: *
09: * Resin Open Source is free software; you can redistribute it and/or modify
10: * it under the terms of the GNU General Public License as published by
11: * the Free Software Foundation; either version 2 of the License, or
12: * (at your option) any later version.
13: *
14: * Resin Open Source is distributed in the hope that it will be useful,
15: * but WITHOUT ANY WARRANTY; without even the implied warranty of
16: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
17: * of NON-INFRINGEMENT. See the GNU General Public License for more
18: * details.
19: *
20: * You should have received a copy of the GNU General Public License
21: * along with Resin Open Source; if not, write to the
22: * Free SoftwareFoundation, Inc.
23: * 59 Temple Place, Suite 330
24: * Boston, MA 02111-1307 USA
25: *
26: * @author Sam
27: */
28:
29: package com.caucho.widget;
30:
31: import com.caucho.util.L10N;
32:
33: import java.io.IOException;
34: import java.util.logging.Logger;
35:
36: public class FormWidget extends WidgetContainer {
37: private static L10N L = new L10N(FormWidget.class);
38:
39: static protected final Logger log = Logger
40: .getLogger(FormWidget.class.getName());
41:
42: public FormWidget() {
43: }
44:
45: public FormWidget(String id) {
46: super (id);
47: }
48:
49: public FormWidget(Widget parent) {
50: super (parent);
51: }
52:
53: public FormWidget(Widget parent, String id) {
54: super (parent, id);
55: }
56:
57: protected FormWidgetState createState(WidgetConnection connection)
58: throws WidgetException {
59: return new FormWidgetState();
60: }
61:
62: protected boolean isAction(WidgetState state) {
63: return true;
64: }
65:
66: public void renderTextHtml(WidgetConnection connection,
67: FormWidgetState widgetState) throws WidgetException,
68: IOException {
69: WidgetWriter writer = connection.getWriter();
70:
71: writer.startElement("div", true);
72: writer.writeAttribute("id", getClientId());
73: writer.writeAttribute("class", getCssClass());
74:
75: writer.startElement("form", true);
76: writer.writeAttribute("class", getId());
77: writer.writeAttribute("method", "POST");
78: writer.writeAttribute("action", createURL(connection));
79:
80: super .renderChildren(connection, widgetState);
81:
82: writer.endElement("form", true);
83: writer.endElement("div", true);
84: }
85: }
|