craigmcc 01/06/01 13:16:03
Modified: src/share/org/apache/struts/taglib/html OptionsTag.java
Log:
Port the fix for bugzilla #1936.
Revision Changes Path
1.9 +25 -3
jakarta-struts/src/share/org/apache/struts/taglib/html/OptionsTag.java
Index: OptionsTag.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/OptionsTag.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- OptionsTag.java 2001/05/20 21:21:23 1.8
+++ OptionsTag.java 2001/06/01 20:16:02 1.9
@@ -193,13 +193,31 @@
if (collection != null) {
Iterator collIterator = getIterator(collection, null);
while (collIterator.hasNext()) {
+
Object bean = collIterator.next();
Object value = null;
Object label = null;;
+
try {
value = PropertyUtils.getProperty(bean, property);
if (value == null)
value = "";
+ } catch (IllegalAccessException e) {
+ throw new JspException
+ (messages.getMessage("getter.access",
+ property, collection));
+ } catch (InvocationTargetException e) {
+ Throwable t = e.getTargetException();
+ throw new JspException
+ (messages.getMessage("getter.result",
+ property, t.toString()));
+ } catch (NoSuchMethodException e) {
+ throw new JspException
+ (messages.getMessage("getter.method",
+ property, collection));
+ }
+
+ try {
if (labelProperty != null)
label =
PropertyUtils.getProperty(bean, labelProperty);
@@ -210,21 +228,25 @@
} catch (IllegalAccessException e) {
throw new JspException
(messages.getMessage("getter.access",
- property, collection));
+ labelProperty, collection));
} catch (InvocationTargetException e) {
Throwable t = e.getTargetException();
throw new JspException
(messages.getMessage("getter.result",
- property, t.toString()));
+ labelProperty, t.toString()));
} catch (NoSuchMethodException e) {
throw new JspException
(messages.getMessage("getter.method",
- property, collection));
+ labelProperty, collection));
}
+
+
String stringValue = value.toString();
addOption(sb, stringValue, label.toString(),
selectTag.isMatched(stringValue));
+
}
+
}
// Otherwise, use the separate iterators mode to render options
- cvs commit: jakarta-struts/src/share/org/apache/struts/tag... rleland
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
- Re: cvs commit: jakarta-struts/src/share/org/apache/s... Johan Compagner
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
- cvs commit: jakarta-struts/src/share/org/apache/strut... craigmcc
