[cvs] expresso commit by ppilgrim: Added properties `header',
`footer',
JCorporate Ltd
jcorp at jcorporate.com
Wed Mar 9 02:15:10 UTC 2005
Log Message:
-----------
Added properties `header', `footer', `prefix' and `suffix' for
compatibility with Struts 1.2.6 to the ErrorTag. Added the following
properties to the message resources should work wonders:
errors.header = <h3> You have errors </h3><ul>
errors.footer = </ul>
errors.prefix = <li><font color="red" >
errors.suffix = </li>
Modified Files:
--------------
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/taglib:
ErrorTag.java
Revision Data
-------------
Index: ErrorTag.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/taglib/ErrorTag.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/taglib/ErrorTag.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/ext/taglib/ErrorTag.java -u -r1.20 -r1.21
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/taglib/ErrorTag.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/ext/taglib/ErrorTag.java
@@ -94,6 +94,12 @@
private String property = null;
private String nameToUse = null;
private String cssClass = null;
+
+ protected String header = null;
+ protected String footer = null;
+ protected String prefix = null;
+ protected String suffix = null;
+
/**
*
@@ -127,15 +133,55 @@
//we have an errorcollection with some errors
JspWriter writer = pageContext.getOut();
- try {
- fsb.append(myResponse.getString("errors.header"));
- } catch (java.lang.IllegalArgumentException ex) {
- //We try to get it from the expresso schema if it
- //doesn't exist
- fsb.append(Messages.getString(com.jcorporate.expresso.core.ExpressoSchema.class.getName(),
- (HttpServletRequest) pageContext.getRequest(),
- "errors.header", new Object[]{}));
+
+
+ String myHeader, myFooter;
+
+ // Compute the HTML header
+ if ( header == null ) {
+ // If no header is defined, attempt retrieve the header
+ // from the message resource bundle, if any
+ try {
+ myHeader = myResponse.getString("errors.header");
+ } catch (java.lang.IllegalArgumentException ex) {
+ //We try to get it from the expresso schema if it
+ //doesn't exist
+ try {
+ myHeader = Messages.getString(com.jcorporate.expresso.core.ExpressoSchema.class.getName(),
+ (HttpServletRequest) pageContext.getRequest(),
+ "errors.header", new Object[]{});
+ } catch (java.lang.IllegalArgumentException ex2) {
+ myHeader = "<ul>";
+ }
+ }
+ }
+ else {
+ myHeader = header;
+ }
+
+ // Compute the HTML footer
+ if ( footer == null ) {
+ // If no footer is defined, attempt retrieve the footer
+ // from the message resource bundle, if any
+ try {
+ myFooter = myResponse.getString("errors.footer");
+ } catch (java.lang.IllegalArgumentException ex) {
+ //We try to get it from the expresso schema if it
+ //doesn't exist
+ try {
+ myFooter = Messages.getString(
+ com.jcorporate.expresso.core.ExpressoSchema.class.getName(),
+ (HttpServletRequest) pageContext.getRequest(),
+ "errors.footer", new Object[]{});
+ } catch (java.lang.IllegalArgumentException ex2) {
+ myFooter = "</ul>";
+ }
+ }
}
+ else {
+ myFooter = footer;
+ }
+
// writer.println(myResponse.getString("errors.header"));
ActionMessage oneError = null;
@@ -146,9 +192,43 @@
} else {
iter = errorCollection.get(property);
}
+
+ String myPrefix, mySuffix;
+
+ // Compute user prefix
+ if ( prefix == null ) {
+ // If no user prefix is defined, attempt it from
+ // the message resource, if possible
+ // If no header is defined, attempt retrieve the header
+ // from the message resource bundle, if any
+ try {
+ myPrefix = myResponse.getString("errors.header");
+ } catch (java.lang.IllegalArgumentException ex) {
+ myPrefix = "<li>";
+ }
+ }
+ else
+ myPrefix = prefix;
+
+ // Compute user suffix
+ if ( suffix == null ) {
+ // If no user prefix is defined, attempt it from
+ // the message resource, if possible
+ // If no header is defined, attempt retrieve the header
+ // from the message resource bundle, if any
+ try {
+ mySuffix = myResponse.getString("errors.suffix");
+ } catch (java.lang.IllegalArgumentException ex) {
+ mySuffix = "</li>";
+ }
+ }
+ else
+ mySuffix = suffix;
+
+ writer.print( myHeader+"\n" );
while (iter.hasNext()) {
oneError = (ActionMessage) iter.next();
- fsb.append(" <li>");
+ fsb.append(" "+myPrefix);
if (cssClass != null) {
fsb.append("<span class=");
fsb.append(cssClass);
@@ -158,28 +238,11 @@
if (cssClass != null) {
fsb.append("</span>");
}
- fsb.append("</li>\n");
+ fsb.append(mySuffix+"\n");
// writer.println(" <LI>" + oneError.getKey() + "</LI>");
}
- try {
- String footer = myResponse.getString("errors.footer");
- if (footer != null && footer.length() > 0) {
- fsb.append(footer);
- fsb.append("\n");
- }
- } catch (java.lang.IllegalArgumentException ex) {
- //We try to get it from the expresso schema if it
- //doesn't exist
- String footer = Messages.getString(
- com.jcorporate.expresso.core.ExpressoSchema.class.getName(),
- (HttpServletRequest) pageContext.getRequest(),
- "errors.footer", new Object[]{});
- if (footer != null && footer.length() > 0) {
- fsb.append(footer);
- fsb.append("\n");
- }
- }
+ writer.print( myFooter+"\n" );
writer.print(fsb.toString());
}
} finally {
@@ -240,4 +303,70 @@
cssClass = newClass;
}
+
+ /**
+ * Gets the footer
+ * @return Returns the footer.
+ */
+ public String getFooter() {
+ return footer;
+ }
+ /**
+ * Sets the footer
+ * @param footer The footer to set.
+ */
+ public void setFooter(String footer) {
+ this.footer = footer;
+ }
+ /**
+ * Gets the header
+ * @return Returns the header.
+ */
+ public String getHeader() {
+ return header;
+ }
+ /**
+ * Sets the header
+ * @param header The header to set.
+ */
+ public void setHeader(String header) {
+ this.header = header;
+ }
+ /**
+ * Gets the prefix
+ * @return Returns the prefix.
+ */
+ public String getPrefix() {
+ return prefix;
+ }
+ /**
+ * Sets the prefix
+ * @param prefix The prefix to set.
+ */
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
+ /**
+ * Gets the suffix
+ * @return Returns the suffix.
+ */
+ public String getSuffix() {
+ return suffix;
+ }
+ /**
+ * Sets the suffix
+ * @param suffix The suffix to set.
+ */
+ public void setSuffix(String suffix) {
+ this.suffix = suffix;
+ }
+
+ public void release() {
+ super.release();
+ header = "";
+ footer = "";
+ prefix = "";
+ suffix = "";
+
+ }
} /* ErrorTag */
More information about the cvs
mailing list