Update of /var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/edit
In directory james.mmbase.org:/tmp/cvs-serv17365/edit
Modified Files:
FormTag.java
Log Message:
details + comments + documentation
See also:
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/edit
Index: FormTag.java
===================================================================
RCS file:
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/edit/FormTag.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- FormTag.java 22 Feb 2008 14:10:14 -0000 1.17
+++ FormTag.java 22 Apr 2008 07:54:30 -0000 1.18
@@ -26,19 +26,38 @@
* The result can be reported with mm:valid.
*
* @author Michiel Meeuwissen
- * @version $Id: FormTag.java,v 1.17 2008/02/22 14:10:14 michiel Exp $
+ * @version $Id: FormTag.java,v 1.18 2008/04/22 07:54:30 michiel Exp $
* @since MMBase-1.8
*/
public class FormTag extends TransactionTag implements Writer {
private static final Logger log = Logging.getLoggerInstance(FormTag.class);
+ public static final String KEY = "org.mmbase.bridge.jsp.taglib.form";
+ public static final int SCOPE = PageContext.REQUEST_SCOPE;
+
+ /**
+ * Produces an HTML form, and (reuses) an MMBase transaction. Only
explicit commit/cancel (with
+ * mm:commit, mm:cancel, or 'commitonclose').
+ */
public static final int MODE_HTML_FORM = 0;
+
+ /**
+ * Produces an URL for an HTML form only, and (reuses) an MMBase
transaction. Only explicit commit/cancel.
+ */
public static final int MODE_URL = 1;
+
+ /**
+ * Does not produce any content. Implicitely cancels the transaction if
not committed.
+ */
public static final int MODE_VALIDATE = 2;
- public static final String KEY = "org.mmbase.bridge.jsp.taglib.form";
- public static final int SCOPE = PageContext.REQUEST_SCOPE;
+ /**
+ * Does not produce any content. Behaves like mm:transaction. Only
difference is that on default
+ * it does not commit on close.
+ */
+ public static final int MODE_TRANSACTION = 3;
+
private Attribute mode = Attribute.NULL;
private int m;
@@ -128,18 +147,22 @@
} catch (java.io.IOException ioe) {
throw new TaglibException(ioe);
}
+ break;
}
if (getId() != null) {
getContextProvider().getContextContainer().unRegister(getId());
}
Transaction t = transaction;
int result = super.doEndTag();
+ if (m == MODE_VALIDATE) {
if (! t.isCommitted()) {
t.cancel();
}
+ }
return result;
}
+
// never commit on close, unless, explicitely requested, of course.
protected boolean getDefaultCommit() {
return false;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs