I believe this is a bug in struts 1.1. Jan Zimmek
posted a similar problem today. It seems that either the documentation or the
code requires updating.
The issue is that <set-property> no longer works
for <action> as it did in 1.0.2. I upgraded to 1.1 from 1.0.2
today and first came across this problem.
For example, this <action> element in
struts-config.xml:
<!-- Display Public Profile
-->
<action path="/profile/publicprofile"
type="com.participate.pe.profile.client.actions.PublicProfileInit"
name="publicProfileForm" scope="request"
className="com.participate.util.client.struts.ApplicationActionMapping">
<set-property property="public" value="true"/>
<action path="/profile/publicprofile"
type="com.participate.pe.profile.client.actions.PublicProfileInit"
name="publicProfileForm" scope="request"
className="com.participate.util.client.struts.ApplicationActionMapping">
<set-property property="public" value="true"/>
<forward name="continue" path="/profile/include/publicprofile.jsp"
/>
</action>
</action>
yields this message and exception in the 1.1
log (includes Digester
DEBUG):
[2003-09-11 16:04:52,362]
[DEBUG] org.apache.commons.digester.Digester (SetPropertyRule.java:174) -
[SetPropertyRule]{struts-config/action-mappings/action/forward/set-property} Set
org.apache.struts.action.ActionForward property public to true
[2003-09-11 16:04:52,372] [ERROR] org.apache.commons.digester.Digester (Digester.java:1275) - Begin event threw exception
java.lang.NoSuchMethodException: Bean has no property named public
[2003-09-11 16:04:52,372] [ERROR] org.apache.commons.digester.Digester (Digester.java:1275) - Begin event threw exception
java.lang.NoSuchMethodException: Bean has no property named public
Based on the 'className' attribute in the <action> I would have
expected to see:
Set
com.participate.util.client.struts.ApplicationActionMapping public to
true
The documenation in the 1.1 dtd suggests that action should work
fine.
Documentation on classname attribute on action from
dtd:
<!-- The "action"
element describes an ActionMapping object that is to be
used
to process a request for a specific module-relative URI. The following
attributes are defined:
to process a request for a specific module-relative URI. The following
attributes are defined:
.....
className The fully qualified Java class
name of the
ActionMapping
subclass to use for this action mapping object. Defaults to
subclass to use for this action mapping object. Defaults to
Documentation on set property
<!-- The
"set-property" element specifies the method name and initial value
of
an additional JavaBean configuration property. When the object representing
the surrounding element is instantiated, the accessor for the indicated
property is called and passed the indicated value. The "set-property"
element is especially useful when a custom subclass is used with
<data-source>, <forward>, <action>, or <plug-in> elements. The subclass
can be passed whatever other properties may be required to configure the
object without changing how the struts-config is parsed.
an additional JavaBean configuration property. When the object representing
the surrounding element is instantiated, the accessor for the indicated
property is called and passed the indicated value. The "set-property"
element is especially useful when a custom subclass is used with
<data-source>, <forward>, <action>, or <plug-in> elements. The subclass
can be passed whatever other properties may be required to configure the
object without changing how the struts-config is parsed.
property Name of the JavaBeans
property whose setter
method
will be called.
will be called.
value String
representation of the value to which
this
property will be set, after suitable type conversion
-->
property will be set, after suitable type conversion
-->
any comments or workarounds?
thanks,
bill milbratz
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]