Title: RE: actionmapping set-property problem in 1.1 upgrade
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"/>
 
            <forward name="continue" path="/profile/include/publicprofile.jsp" />
        </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
 
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:
.....
     className       The fully qualified Java class name of the ActionMapping
                     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.
 
     property        Name of the JavaBeans property whose setter method
                     will be called.
 
     value           String representation of the value to which this
                     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]

Reply via email to