At 3:35 PM -0500 2/8/05, Todd Nine wrote:
Thanks for the help, given the Java Bean standards of getters and
setters, is there any way to set a Map or a List from the xml file
(something like the way Spring Framework does it)?   And thanks for
the naming complement, we get quite a few amusing ones, like
LaserBeanUtils... :)

There is no way to set a map or a list at the moment. It wouldn't be all that hard to write some Digester rules that did it, but I haven't heard much call for it so far. It is possible to add your own rules to the Digester ruleset used during struts-config processing, but is that really worth it?


For an immediate solution, I'd suggest just writing your mapping class to fit the constraints; just change the name of your method from getIgnore() to getIgnoreList().

There has been a bit of discussion on the dev list about using Spring, or other alternative ways for configuring the system of objects in a Struts application; my conclusion at this point is that we are better off refining the model before changing configuration approaches -- that is, to design a "Struts API bean" which encapsulates what a running Struts application does without being so entangled with the ActionServlet and the Servlet API.

Joe




On Tue, 8 Feb 2005 15:23:41 -0500, Benedict, Paul C <[EMAIL PROTECTED]> wrote:
 If your setter (for setIgnore?) does not have the same type as its getter,
 it is probably ignored. The JavaBean spec is really strict with its
 requirement for properties.

 By the way, "LaserActionMapping" is the coolest action classname I've ever
 seen. If there was an award for these things, I think you would win :o)

 -----Original Message-----
 From: Todd Nine [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, February 08, 2005 3:20 PM
 To: Struts Users Mailing List
 Subject: Extending Action Mapping

 Hi all, I am trying to extend the ActionMapping Class with my own,
 LaserActionMapping.  I have a List that I want to populate with
 MessageResource keys,.  I have the configuration below, and my class.
 The setter is never being called, does anyone have any suggestions?

 <action path="/otherparties"
 type="com.llic.web.action.OtherPartiesAction" parameter="method"
 input="newBusiness/OtherPartiesTab.jsp" name="otherPartiesForm"
 scope="request" validate="true"
                 className="com.llic.web.action.LaserActionMapping" >
                         <set-property property="ignore"
 value="annuity.button.next"/>
                         <set-property property="ignore"
 value="annuity.button.previous"/>
                         <set-property property="ignore"
 value="annuity.defaultmethod"/>
                         <set-property property="ignore"
 value="annuity.reloadmethod"/>

                         <forward name="load"
 path="newBusiness/OtherPartiesTab.jsp"/>
                         <forward name="next"
 path="newBusiness/OtherPartiesTab.jsp"/>
                         <forward name="addnewparty"
 path="newBusiness/OtherPartiesTab.jsp"/>
                         <forward name="removeparty"
 path="newBusiness/OtherPartiesTab.jsp"/>
                         <forward name="updatechanges"
 path="newBusiness/OtherPartiesTab.jsp"/>
                         <forward name="loadParty"
 path="newBusiness/OtherPartiesTab.jsp"/>

                 </action>

 /*
  * Created on Feb 8, 2005
  *
  */
 package com.llic.web.action;

 import java.util.ArrayList;
 import java.util.List;

 import org.apache.struts.action.ActionMapping;

 /**
  * @author Todd Nine
  * This implementation allows for multiple keys to be set.
  * This will allow us to skip validation on certain mappings.
  */
 public class LaserActionMapping extends ActionMapping {

         //map of parameters to ignore
         private List ignore;

/**
> * Constructor for LaserActionMapping.
          */
         public LaserActionMapping() {
                 super();
                 ignore = new ArrayList();

         }

         /**
          * @param map
          */
         public void setIgnore(String value) {
                 ignore.add(value);
         }

         /**
          * @return A list of keys to ignore
          */
         public List getIgnore() {
                 return ignore;
         }

 }

 ---------------------------------------------------------------------
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


------------------------------------------------------------------------------
Notice: This e-mail message, together with any attachments, contains information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates (which may be known outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD and in Japan, as Banyu) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system.


------------------------------------------------------------------------------


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]


--
Joe Germuska [EMAIL PROTECTED] http://blog.germuska.com "Narrow minds are weapons made for mass destruction" -The Ex


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to