Got it... had to explicitly set the Content-Type of the request to
application/x-www-form-urlencoded on the XMLHttpRequest object.  Didn't
even occur to me because I set the method to POST, didn't even consider
that might not be sufficient.  Weird thing is, I know I have code where I
POST but don't set the header and it works, not sure why these nested
names would be different.

Well, should it come up for anyone else, there you go :)

Frank


-- 
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM/Yahoo: fzammetti
MSN: [EMAIL PROTECTED]
Author of "Practical Ajax Projects With Java Technology"
 (2006, Apress, ISBN 1-59059-695-1)
Java Web Parts - http://javawebparts.sourceforge.net
 Supplying the wheel, so you don't have to reinvent it!

On Fri, September 22, 2006 4:48 pm, Frank W. Zammetti wrote:
> Quick update: it has something to do with the fact that its an AJAX
> request at the end... or because its a POST, one or the other... I built a
> URL with the parameters as a query string, and it worked fine... I don't
> know what it is yet yet, exploring now... the request looks identical
> aside from method, which shouldn't matter, AFAIKT, but something is
> obviously bad with it... will let you know when I figure it out...
>
> Frank
>
>
> --
> Frank W. Zammetti
> Founder and Chief Software Architect
> Omnytex Technologies
> http://www.omnytex.com
> AIM/Yahoo: fzammetti
> MSN: [EMAIL PROTECTED]
> Author of "Practical Ajax Projects With Java Technology"
>  (2006, Apress, ISBN 1-59059-695-1)
> Java Web Parts - http://javawebparts.sourceforge.net
>  Supplying the wheel, so you don't have to reinvent it!
>
> On Fri, September 22, 2006 4:35 pm, Jiang, Peiyun wrote:
>> Can you just use simple objects in the form?
>>
>> public class MyActionForm extends ActionForm {
>>     AnotherActionForm1 af1;
>>     AnotherActionForm2 af2;
>>
>>   MyActionForm() {
>>     af1 = new SimpleObject1AsAnotherActionForm1();
>>     af2 = new SimpleObject2AsAnotherActionForm2();
>>   }
>> }
>>
>> Access:
>> <%= masterForm.af1.field1 %>
>>
>> Peiyun
>>
>> -----Original Message-----
>> From: Frank W. Zammetti [mailto:[EMAIL PROTECTED]
>> Sent: September 22, 2006 4:23 PM
>> To: Struts Users Mailing List
>> Cc: Struts Users Mailing List
>> Subject: Re: Nested form beans
>>
>>
>> On Fri, September 22, 2006 3:59 pm, Hubert Rabago wrote:
>>> I can't see anything that would cause your problem.
>>> I guess if it were me, I'd fire up my debugger and start stepping
>>> through some code.
>>> Sorry.
>>
>> Yeah, that's the next step.  Was hoping to avoid it with an easy answer,
>> but that's the way it goes sometimes :)
>>
>>> All I can say at this point is that I know what you're doing is
>>> possible cause that's how FormDef does nested beans.
>>
>> Actually, that's a pretty big help in and of itself... I wasn't frankly
>> aware the subbeans would get populated, so knowing it *should* work at
>> least means I'm not on a wild goose chase.  Thanks for the effort, I
>> definitely appreciate it!
>>
>>> Hubert
>>
>> Frank
>>
>>> On 9/22/06, Frank W. Zammetti <[EMAIL PROTECTED]> wrote:
>>>> Hehe, way ahead of you :)  I put logging in every method...
>>>> constructors,
>>>> getters setter, all three forms.  Here's the output:
>>>>
>>>> MasterForm constructor
>>>> Tab1Form constructor
>>>> Tab2Form constructor
>>>> --NOW IN JSP--
>>>> MasterForm getTab1Form() = [EMAIL PROTECTED]
>>>> MasterForm getTab2Form() = [EMAIL PROTECTED]
>>>> getting field1 = null
>>>> getting field2 = null
>>>>
>>>> Notice the fields don't get set, nor do the subbeans get set on the
>>>> containing bean.  The MasterForm constructor instantiates Tab1Form and
>>>> Tab2Form, as the output indicates.
>>>>
>>>> Frank
>>>>
>>>>
>>>> --
>>>> Frank W. Zammetti
>>>> Founder and Chief Software Architect
>>>> Omnytex Technologies
>>>> http://www.omnytex.com
>>>> AIM/Yahoo: fzammetti
>>>> MSN: [EMAIL PROTECTED]
>>>> Author of "Practical Ajax Projects With Java Technology"
>>>>  (2006, Apress, ISBN 1-59059-695-1)
>>>> Java Web Parts - http://javawebparts.sourceforge.net
>>>>  Supplying the wheel, so you don't have to reinvent it!
>>>>
>>>> On Fri, September 22, 2006 2:53 pm, Hubert Rabago wrote:
>>>> > It still sounds like Struts is getting nulls for the subbeans when
>>>> it
>>>> > tries to populate subbean.fieldX.  Put some more logging, this time
>>>> in
>>>> > the getters for the subbean in MasterForm, and log what it's
>>>> > returning.
>>>> >
>>>> > Hubert
>>>> >
>>>> > On 9/22/06, Frank W. Zammetti <[EMAIL PROTECTED]> wrote:
>>>> >> As a follow-up, I threw some logging in the field1 and field2
>>>> setters
>>>> in
>>>> >> the subbeans... they don't appear to ever get called.  I don't have
>>>> to
>>>> >> do
>>>> >> anything special to tell Struts I'm using nested beans, do I?  I
>>>> didn't
>>>> >> think so...
>>>> >>
>>>> >> Frank
>>>> >>
>>>> >>
>>>> >> --
>>>> >> Frank W. Zammetti
>>>> >> Founder and Chief Software Architect
>>>> >> Omnytex Technologies
>>>> >> http://www.omnytex.com
>>>> >> AIM/Yahoo: fzammetti
>>>> >> MSN: [EMAIL PROTECTED]
>>>> >> Author of "Practical Ajax Projects With Java Technology"
>>>> >>  (2006, Apress, ISBN 1-59059-695-1)
>>>> >> Java Web Parts - http://javawebparts.sourceforge.net
>>>> >>  Supplying the wheel, so you don't have to reinvent it!
>>>> >>
>>>> >> On Fri, September 22, 2006 2:47 pm, Frank W. Zammetti wrote:
>>>> >> > Hi Chris.. thanks for the suggestion, I gave that a shot at one
>>>> point
>>>> >> > actually... what I get is now the fields in the subforms (I guess
>>>> >> that's
>>>> >> > as good a term as any!) don't get set...
>>>> >> >
>>>> >> > masterForm = [EMAIL PROTECTED]
>>>> >> > tab1Form = [EMAIL PROTECTED]
>>>> >> > tab2Form = [EMAIL PROTECTED]
>>>> >> > field1 = null
>>>> >> > field2 = null
>>>> >> >
>>>> >> > That's what I see in my final JSP output.
>>>> >> >
>>>> >> > Frank
>>>> >> >
>>>> >> >
>>>> >> > --
>>>> >> > Frank W. Zammetti
>>>> >> > Founder and Chief Software Architect
>>>> >> > Omnytex Technologies
>>>> >> > http://www.omnytex.com
>>>> >> > AIM/Yahoo: fzammetti
>>>> >> > MSN: [EMAIL PROTECTED]
>>>> >> > Author of "Practical Ajax Projects With Java Technology"
>>>> >> >  (2006, Apress, ISBN 1-59059-695-1)
>>>> >> > Java Web Parts - http://javawebparts.sourceforge.net
>>>> >> >  Supplying the wheel, so you don't have to reinvent it!
>>>> >> >
>>>> >> > On Fri, September 22, 2006 2:40 pm, Chris Pratt wrote:
>>>> >> >> In your no-arg constructor of your outer ActionForm (the
>>>> container),
>>>> >> >> make
>>>> >> >> sure it instantiates each of the nested ActionForms using their
>>>> >> no-arg
>>>> >> >> constructors.
>>>> >> >>   (*Chris*)
>>>> >> >>
>>>> >> >> On 9/22/06, Frank W. Zammetti <[EMAIL PROTECTED]> wrote:
>>>> >> >>>
>>>> >> >>> Sorry, by af1 and af2 I did mean actionForm1 and actionForm2...
>>>> my
>>>> >> >>> mistake
>>>> >> >>> wasn't quite *THAT* obvious! ;) LOL
>>>> >> >>>
>>>> >> >>> Frank
>>>> >> >>>
>>>> >> >>>
>>>> >> >>> --
>>>> >> >>> Frank W. Zammetti
>>>> >> >>> Founder and Chief Software Architect
>>>> >> >>> Omnytex Technologies
>>>> >> >>> http://www.omnytex.com
>>>> >> >>> AIM/Yahoo: fzammetti
>>>> >> >>> MSN: [EMAIL PROTECTED]
>>>> >> >>> Author of "Practical Ajax Projects With Java Technology"
>>>> >> >>> (2006, Apress, ISBN 1-59059-695-1)
>>>> >> >>> Java Web Parts - http://javawebparts.sourceforge.net
>>>> >> >>> Supplying the wheel, so you don't have to reinvent it!
>>>> >> >>>
>>>> >> >>> On Fri, September 22, 2006 1:31 pm, Frank W. Zammetti wrote:
>>>> >> >>> > Hi Hubert,
>>>> >> >>> >
>>>> >> >>> > Yes, I get nulls for af1 and af2... I do have getters and
>>>> setters
>>>> >> for
>>>> >> >>> > them.
>>>> >> >>> >
>>>> >> >>> > Lemme throw some data your way... I was hoping to avoid
>>>> posting
>>>> >> all
>>>> >> >>> this,
>>>> >> >>> > but I suspect there to be something my eyes just aren't
>>>> catching,
>>>> >> >>> so...
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > Here's ActionForm1:
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > package app.test.formbeans;
>>>> >> >>> > import org.apache.struts.action.ActionForm;
>>>> >> >>> > public class Action1Form extends ActionForm {
>>>> >> >>> >   private String field1;
>>>> >> >>> >   public void setField1(String inField1) {
>>>> >> >>> >     this.field1 = inField1;
>>>> >> >>> >   }
>>>> >> >>> >   public String getField1() {
>>>> >> >>> >     return this.field1;
>>>> >> >>> >   }
>>>> >> >>> > }
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > ActionForm2 is identical, just replacing the number 1 with 2
>>>> >> >>> everywhere.
>>>> >> >>> > Here's MasterForm:
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > package app.test.formbeans;
>>>> >> >>> > import org.apache.struts.action.ActionForm;
>>>> >> >>> > public class MasterForm extends ActionForm {
>>>> >> >>> >   public Action1Form action1Form;
>>>> >> >>> >   public Action2Form action2Form;
>>>> >> >>> >   public void setAction1Form(Action1Form inAction1Form) {
>>>> >> >>> >     this.action1Form = inAction1Form;
>>>> >> >>> >   }
>>>> >> >>> >   public Action1Form getAction1Form() {
>>>> >> >>> >     return this.action1Form;
>>>> >> >>> >   }
>>>> >> >>> >   public void setAction2Form(Action2Form inAction2Form) {
>>>> >> >>> >     this.action2Form = inAction2Form;
>>>> >> >>> >   }
>>>> >> >>> >   public Action2Form getAction2Form() {
>>>> >> >>> >     return this.action2Form;
>>>> >> >>> >   }
>>>> >> >>> > }
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > The Action everything gets submitted to is just a
>>>> ForwardAction,
>>>> >> >>> which
>>>> >> >>> > forwards to:
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > <%@ page language="java" import="app.test.formbeans.*" %>
>>>> >> >>> > <%
>>>> >> >>> >   MasterForm masterForm =
>>>> >> >>> (MasterForm)request.getAttribute("masterForm");
>>>> >> >>> > %>
>>>> >> >>> > <%="masterForm = " + masterForm + "<br>"%>
>>>> >> >>> > <%
>>>> >> >>> >   Tab1Form tab1Form = null;
>>>> >> >>> >   Tab2Form tab2Form = null;
>>>> >> >>> >   if (masterForm != null) {
>>>> >> >>> >     tab1Form = masterForm.getTab1Form();
>>>> >> >>> >     tab2Form = masterForm.getTab2Form();
>>>> >> >>> >   }
>>>> >> >>> > %>
>>>> >> >>> > <%="tab1Form = " + tab1Form + "<br>"%>
>>>> >> >>> > <%="tab2Form = " + tab2Form + "<br>"%>
>>>> >> >>> > <% if (tab1Form != null) { %>
>>>> >> >>> >   <%="field1 = " + tab1Form.getField1() + "<br>"%>
>>>> >> >>> > <% } %>
>>>> >> >>> > <% if (tab2Form != null) { %>
>>>> >> >>> >   <%="field2 = " + tab2Form.getField2() + "<br>"%>
>>>> >> >>> > <% } %>
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > The result I see from this is:
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > masterForm = [EMAIL PROTECTED]
>>>> >> >>> > tab1Form = null
>>>> >> >>> > tab2Form = null
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > The page that does that submit, in its final rendered form on
>>>> the
>>>> >> >>> client
>>>> >> >>> > is:
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > <html>
>>>> >> >>> > <head>
>>>> >> >>> >   <script>
>>>> >> >>> >     var finalSubmit = null;
>>>> >> >>> >     function getXHR() {
>>>> >> >>> >       if (window.XMLHttpRequest) {
>>>> >> >>> >         return new XMLHttpRequest();
>>>> >> >>> >       } else if (window.ActiveXObject) {
>>>> >> >>> >         return new ActiveXObject("Microsoft.XMLHTTP");
>>>> >> >>> >       }
>>>> >> >>> >     }
>>>> >> >>> >     function submitAll() {
>>>> >> >>> >       var tab1Form = dojo.io.encodeForm(
>>>> >> >>> >         document.getElementById("tab1Form"));
>>>> >> >>> >       var tab2Form = dojo.io.encodeForm(
>>>> >> >>> >         document.getElementById("tab2Form"));
>>>> >> >>> >       finalSubmit = getXHR();
>>>> >> >>> >       finalSubmit.onreadystatechange = finalSubmitCallback;
>>>> >> >>> >       finalSubmit.open("POST", "final.do", true);
>>>> >> >>> >       finalSubmit.send(tab1Form + tab2Form);
>>>> >> >>> >     }
>>>> >> >>> >     function finalSubmitCallback() {
>>>> >> >>> >       if (finalSubmit.readyState == 4) {
>>>> >> >>> >         document.getElementById("divResult").innerHTML =
>>>> >> >>> > finalSubmit.responseText;
>>>> >> >>> >       }
>>>> >> >>> >     }
>>>> >> >>> >   </script>
>>>> >> >>> > </head>
>>>> >> >>> > <body onload="init();">
>>>> >> >>> >   <form name="masterForm" id="tab1Form" method="post"
>>>> >> >>> > action="/test/tab1.do">
>>>> >> >>> >     Field1: <input name="tab1Form.field1" value="val1"
>>>> >> >>> type="text"><br>
>>>> >> >>> >   </form>
>>>> >> >>> >   <br>
>>>> >> >>> >   <form name="masterForm" id="tab2Form" method="post"
>>>> >> >>> > action="/test/tab2.do">
>>>> >> >>> >     Field2: <input name="tab2Form.field2" value="val2"
>>>> >> >>> type="text"><br>
>>>> >> >>> >   </form>
>>>> >> >>> >   <br>
>>>> >> >>> >   <input value="Submit All" onclick="submitAll();"
>>>> type="button">
>>>> >> >>> >   <br><br>
>>>> >> >>> >   <div id="divResult"></div>
>>>> >> >>> > </body>
>>>> >> >>> > </html>
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > Note that I removed all the Dojo-related stuff, and some
>>>> stuff
>>>> >> that
>>>> >> >>> isn't
>>>> >> >>> > related to this submissino, just to try and keep it small,
>>>> but,
>>>> >> the
>>>> >> >>> > important thing to note is that when the submission is made,
>>>> the
>>>> >> >>> request
>>>> >> >>> > that goes across is a POST to
>>>> http://localhost:8080/test/final.do,
>>>> >> as
>>>> >> >>> > expected, and the POST body is:
>>>> >> >>> >
>>>> >> >>> > tab1Form.field1=val1&tab2Form.field2=val2&
>>>> >> >>> >
>>>> >> >>> > ...also as expected, verified in Firebug.  Lastly, here's
>>>> >> >>> struts-config:
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > <?xml version="1.0" encoding="ISO-8859-1" ?>
>>>> >> >>> > <!DOCTYPE struts-config PUBLIC "-//Apache Software
>>>> Foundation//DTD
>>>> >> >>> Struts
>>>> >> >>> > Configuration 1.2//EN"
>>>> >> >>> > "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd";>
>>>> >> >>> > <struts-config>
>>>> >> >>> >   <form-beans>
>>>> >> >>> >     <form-bean name="masterForm"
>>>> >> type="app.test.formbeans.MasterForm"
>>>> >> >>> />
>>>> >> >>> >   </form-beans>
>>>> >> >>> >   <action-mappings>
>>>> >> >>> >     <action path="/final" type="app.test.actions.FinalAction"
>>>> >> >>> > name="masterForm" scope="request" validate="false">
>>>> >> >>> >       <forward name="defaultForward" path="/final.jsp" />
>>>> >> >>> >     </action>
>>>> >> >>> >   </action-mappings>
>>>> >> >>> > </struts-config>
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > Note here that I removed the stuff that generated the markup
>>>> from
>>>> >> >>> above
>>>> >> >>> > too, since that seems to be working just fine, I'm pretty
>>>> sure
>>>> >> this
>>>> >> >>> is
>>>> >> >>> all
>>>> >> >>> > that would be relevant.
>>>> >> >>> >
>>>> >> >>> > So, seeing any obvious blunders on my part?  Thanks Hubert!
>>>> >> >>> >
>>>> >> >>> > Frank
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > --
>>>> >> >>> > Frank W. Zammetti
>>>> >> >>> > Founder and Chief Software Architect
>>>> >> >>> > Omnytex Technologies
>>>> >> >>> > http://www.omnytex.com
>>>> >> >>> > AIM/Yahoo: fzammetti
>>>> >> >>> > MSN: [EMAIL PROTECTED]
>>>> >> >>> > Author of "Practical Ajax Projects With Java Technology"
>>>> >> >>> >  (2006, Apress, ISBN 1-59059-695-1)
>>>> >> >>> > Java Web Parts - http://javawebparts.sourceforge.net
>>>> >> >>> >  Supplying the wheel, so you don't have to reinvent it!
>>>> >> >>> >
>>>> >> >>> > On Fri, September 22, 2006 1:10 pm, Hubert Rabago wrote:
>>>> >> >>> >> So what does happen when you submit the form?  Are you
>>>> getting
>>>> >> NPEs?
>>>> >> >>> >>
>>>> >> >>> >> By the time Struts attempts to populate the form bean, the
>>>> nested
>>>> >> >>> >> forms should already be instantiated.  You should have
>>>> getters
>>>> >> and
>>>> >> >>> >> setters for af1 and af2, and getAf1() and getAf2() should
>>>> not
>>>> >> return
>>>> >> >>> a
>>>> >> >>> >> null.  This could be an issue if the form bean is new,
>>>> either
>>>> >> >>> because
>>>> >> >>> >> it's in request scope, or in session scope but was not
>>>> previously
>>>> >> >>> >> instantiated.
>>>> >> >>> >>
>>>> >> >>> >> Hubert
>>>> >> >>> >>
>>>> >> >>> >> On 9/22/06, Frank W. Zammetti <[EMAIL PROTECTED]> wrote:
>>>> >> >>> >>> I'm facing a situation where ideally I'd like to have a
>>>> single
>>>> >> >>> >>> ActionForm
>>>> >> >>> >>> like so:
>>>> >> >>> >>>
>>>> >> >>> >>> public class MyActionForm extends ActionForm {
>>>> >> >>> >>>   AnotherActionForm1 af1;
>>>> >> >>> >>>   AnotherActionForm2 af2;
>>>> >> >>> >>> }
>>>> >> >>> >>>
>>>> >> >>> >>> When in my JSP I do:
>>>> >> >>> >>>
>>>> >> >>> >>> <html:text property="af1.field1" />
>>>> >> >>> >>>
>>>> >> >>> >>> ...I do indeed see the value as I expect.  The way I did
>>>> this
>>>> is
>>>> >> to
>>>> >> >>> >>> have
>>>> >> >>> >>> an Action mapping that references MyActionForm, then within
>>>> the
>>>> >> >>> Action
>>>> >> >>> >>> I
>>>> >> >>> >>> instantiate AnotherActionForm1, set the value of field1 on
>>>> it,
>>>> >> and
>>>> >> >>> then
>>>> >> >>> >>> set af1 to that new AnotherActionForm1 instance.  That all
>>>> works
>>>> >> >>> >>> nicely.
>>>> >> >>> >>>
>>>> >> >>> >>> Here's where I run into a problem...
>>>> >> >>> >>>
>>>> >> >>> >>> On the page I basically have 2 separate HTML forms, one for
>>>> >> >>> >>> AnotherActionForm1 and another for AnotherActionForm2.
>>>> However,
>>>> >> I
>>>> >> >>> have
>>>> >> >>> >>> a
>>>> >> >>> >>> SINGLE submit button at the end (just plain button that
>>>> makes
>>>> an
>>>> >> >>> AJAX
>>>> >> >>> >>> request).  onClick of that button, I create a query string
>>>> from
>>>> >> the
>>>> >> >>> >>> values
>>>> >> >>> >>> of both forms, and make a request to the server with the
>>>> query
>>>> >> >>> string
>>>> >> >>> >>> attached.  The parameter names of the query string
>>>> arguments
>>>> are
>>>> >> >>> >>> af1.field1 and af2.field2, mimicing what's in MyActionForm.
>>>> The
>>>> >> >>> >>> mapping
>>>> >> >>> >>> that the request goes to again references MyActionForm.
>>>> >> >>> >>>
>>>> >> >>> >>> What I've been told should happen is that Struts should be
>>>> able
>>>> >> to
>>>> >> >>> >>> instantiate those two nested beans and set the properties,
>>>> since
>>>> >> >>> the
>>>> >> >>> >>> parameter names give it the information it needs.  This
>>>> does
>>>> not
>>>> >> >>> >>> however
>>>> >> >>> >>> seem to be happening.
>>>> >> >>> >>>
>>>> >> >>> >>> So, two questions... first, is that in fact the expected
>>>> >> >>> behavoir?  And
>>>> >> >>> >>> two, if so, any ideas what I'm doing wrong?  I can post all
>>>> the
>>>> >> >>> >>> pertinent
>>>> >> >>> >>> config and code, but thought it might be something more
>>>> generic
>>>> >> >>> that
>>>> >> >>> >>> wouldn't require all that.  This is the first time I've
>>>> ever
>>>> had
>>>> >> a
>>>> >> >>> need
>>>> >> >>> >>> to
>>>> >> >>> >>> nest forms like this, so it's a new question for me.
>>>> >> >>> >>>
>>>> >> >>> >>> Thanks all!
>>>> >> >>> >>>
>>>> >> >>> >>> Frank
>>>> >> >>> >>>
>>>> >> >>> >>>
>>>> >> >>> >>> --
>>>> >> >>> >>> Frank W. Zammetti
>>>> >> >>> >>> Founder and Chief Software Architect
>>>> >> >>> >>> Omnytex Technologies
>>>> >> >>> >>> http://www.omnytex.com
>>>> >> >>> >>> AIM/Yahoo: fzammetti
>>>> >> >>> >>> MSN: [EMAIL PROTECTED]
>>>> >> >>> >>> Author of "Practical Ajax Projects With Java Technology"
>>>> >> >>> >>>  (2006, Apress, ISBN 1-59059-695-1)
>>>> >> >>> >>> Java Web Parts - http://javawebparts.sourceforge.net
>>>> >> >>> >>>  Supplying the wheel, so you don't have to reinvent it!
>>>> >> >>> >>>
>>>> >> >>> >>> ---------------------------------------------------------------------
>>>> >> >>> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> >> >>> >>> For additional commands, e-mail:
>>>> [EMAIL PROTECTED]
>>>> >> >>> >>>
>>>> >> >>> >>>
>>>> >> >>> >>
>>>> >> >>> >> ---------------------------------------------------------------------
>>>> >> >>> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> >> >>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>>>> >> >>> >>
>>>> >> >>> >>
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>> > ---------------------------------------------------------------------
>>>> >> >>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> >> >>> > For additional commands, e-mail: [EMAIL PROTECTED]
>>>> >> >>> >
>>>> >> >>> >
>>>> >> >>>
>>>> >> >>>
>>>> >> >>> ---------------------------------------------------------------------
>>>> >> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> >> >>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>> >> >>>
>>>> >> >>>
>>>> >> >>
>>>> >> >
>>>> >> >
>>>> >> > ---------------------------------------------------------------------
>>>> >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> >> > For additional commands, e-mail: [EMAIL PROTECTED]
>>>> >> >
>>>> >> >
>>>> >>
>>>> >>
>>>> >> ---------------------------------------------------------------------
>>>> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>>>> >>
>>>> >>
>>>> >
>>>> > ---------------------------------------------------------------------
>>>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> > For additional commands, e-mail: [EMAIL PROTECTED]
>>>> >
>>>> >
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


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

Reply via email to