I did not get your question clearly.

When a new form(instance of ActionForm) is created, users input is not lost.The users 
input is still in the request Object.(Are you confusing the Form on screen with the 
ActionFOrm object on server side?).So after the instance of ActionForm is created, it 
is populated with the parameters from the request using the struts auto-population 
mechanism.And then you can use the same BeanList to pass to the Service layer(But 
after conversion may be as all the properties in String format.SO create DTO bean from 
correspondign stringbeans).

Hope this helps.
regards,
Shirish

-----Original Message-----
From: Martin Sturzenegger [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 20, 2004 3:11 PM
To: [EMAIL PROTECTED]; Struts Users Mailing List
Subject: RE: getting data from form with nested beans


hi shirish,
great conceipt and many thanks for example and explanation, my fog seems to thin out 
slowly.
one question remains: as soon as a new form is created, then, i assume, the user's 
inputs are lost. so how do you get hold of the user's input? usually one feeds the 
input data back into a database. with simple beans i copy the formdata to a new 
instantiated dto-bean within my action class and pass the dto-bean to my 
business-layer. but dealing with nested beans, where and how?
sorry for pestering
and thanks a lot in advance
martin 


---------- Urspruengliche Nachricht ------------------------------
Von: <[EMAIL PROTECTED]>
Antworten an: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Datum:  Tue, 20 Jan 2004 13:54:30 +0100

>yes:-))
>And I am sure most of the people do have the same.I mean tieing the nested properties 
>to the session scope does take away a lot of flexibility.
>
>Anyhow just try my sample code...It should demonstrate the concept.
>
>regards,
>Shirish
>
>-----Original Message-----
>From: Mark Lowe [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, January 20, 2004 1:44 PM
>To: Struts Users Mailing List
>Subject: Re: getting data from form with nested beans
>
>
>So you've had forms, with indexed properties with dynamic sizes working  
>when scoping to request?
>
>
>On 20 Jan 2004, at 11:45, <[EMAIL PROTECTED]> wrote:
>
>> Hi,
>> Is it flaming or what?I thought we were trying to solve each others  
>> problems.Still a last try.
>> We have a complete application(3 modules/4000 classes/15 companies  
>> live as of date) which uses all form beans just in request scope.And  
>> all over the place we have used form beans in request scope.And the  
>> application is well and running.
>>
>> If you go t through my mail, you will understand why it will mail.SO  
>> please read the mail carefully.
>> I will try to explain it again.
>>
>> When the form is submitted(the user presses submit button on  
>> screen),the corresponding action will be called by struts.At the same  
>> time, it will look for a actionForm from the mapping.As the scope is  
>> specified as request, a new form will be created.And if you have  
>> looked at my example carefully, you will see that the nested bean list  
>> is created when the form is created.But this nested list is empty.Now  
>> when struts autopopulation tries to populate a nested bean, it should   
>> find that the nested bean list is empty.But the lazy initialization  
>> mechanism in the indexed getter will take care that the list has  
>> enough of beans.See the code below.
>> ****************33
>>  //give indexed access to the beans
>>>>>
>>>>> public Employee getEmployee(int index){
>>>>>
>>>>> //very imp
>>>>>
>>>>> //when a jsp is submited , then while auto populating the form,this
>>>>> will
>>>>> ensure
>>>>> that
>>>>>
>>>>> // the  form is populated properly.
>>>>>
>>>>> while(index >= beanList.size()){
>>>>>
>>>>> beanList.add(new Employee());
>>>>>
>>>>> }
>> ***************************************
>>
>> And as explained in jsp part, as long as the property references are  
>> created properly, this will work.And with struts1.1 nested tags, you  
>> don't have to even use the script<%%> to create property is jsp.
>>
>> Hope this clarifies it.If not, try to run my example code.
>>
>> regards,
>> Shirish
>>
>> -----Original Message-----
>> From: Mark Lowe [mailto:[EMAIL PROTECTED]
>> Sent: Tuesday, January 20, 2004 12:28 PM
>> To: Struts Users Mailing List
>> Subject: Re: getting data from form with nested beans
>>
>>
>> Oh yeah .. by working i mean when you submit..
>>
>>
>> On 20 Jan 2004, at 11:25, Mark Lowe wrote:
>>
>>> .. Show us all an example of a form with a dynamic size for a form
>>> property thats scoped to the request then big shot..
>>>
>>> Come on lets see it!!!
>>>
>>>
>>> On 20 Jan 2004, at 10:45, <[EMAIL PROTECTED]> wrote:
>>>
>>>> The scope of form has nothing to do with usage of nested beans.And
>>>> using session scope shoudl be avaided as far as possible as teh form
>>>> will stay in session  till it is explicitely removed from there..
>>>>
>>>> The <% %> business is for the scripts so that the nested property
>>>> reference can be created.But with struts1.1 , with the usage of
>>>> nested tags, oyu can get rid of that scriptlet code.See nested tags
>>>> for how to do that.I have myself never used nested tags.
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Mark Lowe [mailto:[EMAIL PROTECTED]
>>>> Sent: Tuesday, January 20, 2004 11:05 AM
>>>> To: Struts Users Mailing List
>>>> Subject: Re: getting data from form with nested beans
>>>>
>>>>
>>>> What's with all the <% %> business? Things to watch out for, method
>>>> names and the object cast to the jsp need to match names (e.g.
>>>> foo.getEmployee() and ${foo.employee}). The form must be scoped to
>>>> session if you are dynamically changing the size of the  indexed
>>>> property.
>>>>
>>>> <html:text name="bean" property="property" indexed="true" />
>>>>
>>>> A better example would be a form bean with a getEmployees() method  
>>>> and
>>>> a setEmployee rather than getBeanList or whatever it was.
>>>>
>>>>
>>>> public Object[] getEmployees() {
>>>>    return emplyeeList.toArray();
>>>> }
>>>>
>>>> public void setEmployees(ArrayList employeeList) {
>>>>    this.employeeList = employeeList;
>>>> }
>>>>
>>>> public Employee getEmployee(int i) {
>>>>    return (Employee) employeeList.get(i);
>>>> }
>>>>
>>>> public void setEmployee(int i,Employee employee) {
>>>>    this.employeeList.add(i,employee);
>>>> }
>>>>
>>>>
>>>> ..
>>>>
>>>> public class Employee {
>>>>    private String name;
>>>>
>>>>    public String getName() {
>>>>            return name;
>>>>    }
>>>>    etc
>>>> }
>>>>
>>>> ..
>>>>
>>>> <logic:iterate id="employee" name="employeeForm"  
>>>> property="employees">
>>>>
>>>>    <html:"text name="employee" property="name" indexed="true" />
>>>>
>>>> </logic:iterate>
>>>>
>>>> or
>>>>
>>>> <c:forEach var="employee" items="${employeeForm.employees}">
>>>>    ..
>>>>
>>>>
>>>>
>>>> On 20 Jan 2004, at 08:56, <[EMAIL PROTECTED]> wrote:
>>>>
>>>>> I am resending my earlier mail on this user list..Go through the
>>>>> sample code
>>>>> and
>>>>> ask me if u don't understand something.
>>>>>
>>>>> The important portions are commented.Especially look at the jsps
>>>>> property
>>>>> how
>>>>> it is set and also the form bean.The property syntax I have used was
>>>>> for struts 1.0 ..But with struts 1.1 , you can have a better cleaner
>>>>> syntax using nested tags.But I have not used it...This works for 1.1
>>>>> as well..
>>>>>
>>>>> ********************************************************
>>>>>
>>>>> //Form Class
>>>>>
>>>>> import java.util.ArrayList;
>>>>>
>>>>> import java.util.List;
>>>>>
>>>>> import org.apache.struts.action.ActionForm;
>>>>>
>>>>> public class ExampleListForm extends ActionForm {
>>>>>
>>>>> //A list of Emp beans
>>>>>
>>>>> private List beanList = new ArrayList();
>>>>>
>>>>> public List getBeanList(){
>>>>>
>>>>> return beanList;
>>>>>
>>>>> }
>>>>>
>>>>> public void setBeanList(List list){
>>>>>
>>>>> beanList = list;
>>>>>
>>>>> }
>>>>>
>>>>> //very imp.
>>>>>
>>>>> //give indexed access to the beans
>>>>>
>>>>> public Employee getEmployee(int index){
>>>>>
>>>>> //very imp
>>>>>
>>>>> //when a jsp is submited , then while auto populating the form,this
>>>>> will
>>>>> ensure
>>>>> that
>>>>>
>>>>> // the  form is populated properly.
>>>>>
>>>>> while(index >= beanList.size()){
>>>>>
>>>>> beanList.add(new Employee());
>>>>>
>>>>> }
>>>>>
>>>>> return (Employee)beanList.get(index);
>>>>>
>>>>> }
>>>>>
>>>>> public void setEmployee(int index,Employee emp){
>>>>>
>>>>> beanList.set(index,emp);
>>>>>
>>>>> }
>>>>>
>>>>> }
>>>>>
>>>>> ***********************************************
>>>>>
>>>>> Bean class
>>>>>
>>>>> public class Employee {
>>>>>
>>>>> private String name;
>>>>>
>>>>> private String salary;
>>>>>
>>>>> /**
>>>>>
>>>>> * Returns the name.
>>>>>
>>>>> * @return String
>>>>>
>>>>> */
>>>>>
>>>>> public String getName() {
>>>>>
>>>>> return name;
>>>>>
>>>>> }
>>>>>
>>>>> /**
>>>>>
>>>>> * Returns the salary.
>>>>>
>>>>> * @return String
>>>>>
>>>>> */
>>>>>
>>>>> public String getSalary() {
>>>>>
>>>>> return salary;
>>>>>
>>>>> }
>>>>>
>>>>> /**
>>>>>
>>>>> * Sets the name.
>>>>>
>>>>> * @param name The name to set
>>>>>
>>>>> */
>>>>>
>>>>> public void setName(String name) {
>>>>>
>>>>> this.name = name;
>>>>>
>>>>> }
>>>>>
>>>>> /**
>>>>>
>>>>> * Sets the salary.
>>>>>
>>>>> * @param salary The salary to set
>>>>>
>>>>> */
>>>>>
>>>>> public void setSalary(String salary) {
>>>>>
>>>>> this.salary = salary;
>>>>>
>>>>> }
>>>>>
>>>>> }
>>>>>
>>>>> ****************************************
>>>>>
>>>>> JSP
>>>>>
>>>>> <%@ page language="java"%>
>>>>>
>>>>> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
>>>>>
>>>>> <html:html>
>>>>>
>>>>> <html:form action="/" >
>>>>>
>>>>> <logic:iterate id="bean" name="exampleListForm" property="beanList"
>>>>> indexId="i"/>
>>>>>
>>>>> <html:text name="exampleListForm"  property="<%=\"employee[\" + i
>>>>> \"].name\"%>">
>>>>>
>>>>> <html:text name="exampleListForm"  property="<%=\"employee[\" + i
>>>>> \"].salary\"%>">
>>>>>
>>>>> </logic:iterate>
>>>>>
>>>>> </html:form>
>>>>>
>>>>> </html:html>
>>>>>
>>>>> Explanation:
>>>>>
>>>>> See how the property is constructed.
>>>>>
>>>>> <html:text name="exampleListForm"  property="<%=\"employee[\" + i
>>>>> \"].name\"%>">
>>>>>
>>>>> So this will result in a parameter name employee[i].name in the http
>>>>> request.So
>>>>> when the jsp is rendered, this will be interpreted as
>>>>>
>>>>> getEmployee[i].getName().And when the jsp is submitted , the same
>>>>> will
>>>>> be
>>>>> interpreted as getEmployee[i].setName().And this will result in auto
>>>>> population
>>>>> of data in the form as u can see.
>>>>>
>>>>> So check the indexed properties on the form as well.(Especially the
>>>>> getEmployee(index i) proeprty with while loop.)
>>>>>
>>>>> Hope this helps.
>>>>>
>>>>>
>>>>>
>>>>> regards,
>>>>>
>>>>> Shirish.
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: Mark Lowe [mailto:[EMAIL PROTECTED]
>>>>> Sent: Monday, January 19, 2004 6:18 PM
>>>>> To: Struts Users Mailing List
>>>>> Subject: Re: getting data from form with nested beans
>>>>>
>>>>>
>>>>> Dunno what that thread on lazy lists was but nesting beans should
>>>>> work
>>>>> fine, but you will need to scope any property that you want a  
>>>>> dynamic
>>>>> size to session.
>>>>>
>>>>> Shouldn't be anymore complicated than that.
>>>>>
>>>>>
>>>>> On 19 Jan 2004, at 16:01, Martin Sturzenegger wrote:
>>>>>
>>>>>> hi,
>>>>>> concerning nested properties, i found so many questions, hints etc.
>>>>>> in
>>>>>> the archive but nothing that really helped all the way...i'm still
>>>>>> confused (or even more now...)
>>>>>> i still don't understand how struts handles input from a form that
>>>>>> holds an iteration of nested beans.
>>>>>> is the following correct?
>>>>>> as soon as the user submits the form, the actionform-bean, holding
>>>>>> the
>>>>>> nested beans with the user's changes, gets transmitted.
>>>>>> is it so, that before the action-class is called, the form-bean's
>>>>>> reset() method is called, and all nested beans are set to null by
>>>>>> default?
>>>>>> so do i have to override the reset() method?
>>>>>> what do i iterate over in the reset() method to get the user's
>>>>>> inputs?
>>>>>> how do i limit the iteration?
>>>>>> does the validate() method gets called before the reset method?.
>>>>>>
>>>>>> i've seen examples, where a dto-class is instanciated within the
>>>>>> reset() method.
>>>>>> is this the way to do it?
>>>>>> do i have to access these dto-beans in the action class?
>>>>>>
>>>>>> could somebody give me a little example of a reset()-method, just  
>>>>>> to
>>>>>> show how the user's input can be gathered and then stored away?
>>>>>>
>>>>>> and.. what are lazy lists? i wasn't able to find a definition....
>>>>>>
>>>>>> sorry about it but
>>>>>>
>>>>>> regards from an utterly confused martin
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ---------- Urspruengliche Nachricht ------------------------------
>>>>>> Von: <[EMAIL PROTECTED]>
>>>>>> Datum:  Mon, 19 Jan 2004 10:52:10 +0100
>>>>>>
>>>>>>> You ahve a fixed length or Empty list in the form.So when the auto
>>>>>>> population tries to populate the nested bean for the list which is
>>>>>>> empty/fixed size,you get this exception.
>>>>>>> Try to use lazy list or search the archive for nested property
>>>>>>> usage...There are many examples which will demonatrate how to use
>>>>>>> it.
>>>>>>>
>>>>>>> HTH.
>>>>>>> regards,
>>>>>>> Shirish
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Martin Sturzenegger
>>>>>>> [mailto:[EMAIL PROTECTED]
>>>>>>> Sent: Monday, January 19, 2004 10:46 AM
>>>>>>> To: Struts Users Mailing List; [EMAIL PROTECTED]; Struts
>>>>>>> Users
>>>>>>> Mailing List
>>>>>>> Subject: Re: Including one JSP in another
>>>>>>>
>>>>>>>
>>>>>>> i try to receive user-input from a form using a list of nested
>>>>>>> beans.
>>>>>>> after hitting submit i get an ArrayIndexOutOfBoundsException
>>>>>>> can somebody give me a hint?
>>>>>>> many thanks
>>>>>>> martin
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> stacktrace:
>>>>>>>
>>>>>>> java.lang.ArrayIndexOutOfBoundsException
>>>>>>>         java.lang.reflect.Array.get(Native Method)
>>>>>>>         
>>>>>>> org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(Prop 
>>>>>>> e
>>>>>>> rt
>>>>>>> y
>>>>>>> Utils.java:525)
>>>>>>>         
>>>>>>> org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(Prop 
>>>>>>> e
>>>>>>> rt
>>>>>>> y
>>>>>>> Utils.java:428)
>>>>>>>         
>>>>>>> org.apache.commons.beanutils.PropertyUtils.getNestedProperty(Prope 
>>>>>>> r
>>>>>>> ty
>>>>>>> U
>>>>>>> tils.java:770)
>>>>>>>         
>>>>>>> org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUti 
>>>>>>> l
>>>>>>> s.
>>>>>>> j
>>>>>>> ava:801)
>>>>>>>          
>>>>>>> org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:
>>>>>>> 881)
>>>>>>>         org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:
>>>>>>> 808)
>>>>>>>         org.apache.struts.util.RequestUtils.populate(RequestUtils.java:
>>>>>>> 1252)
>>>>>>>         
>>>>>>> org.apache.struts.action.RequestProcessor.processPopulate(RequestP 
>>>>>>> r
>>>>>>> oc
>>>>>>> e
>>>>>>> ssor.java:821)
>>>>>>>         
>>>>>>> org.apache.struts.action.RequestProcessor.process(RequestProcessor 
>>>>>>> .
>>>>>>> ja
>>>>>>> v
>>>>>>> a:254)
>>>>>>>          
>>>>>>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:
>>>>>>> 1482)
>>>>>>>         org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
>>>>>>> 525)
>>>>>>>         javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>>>>>>>         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Confidentiality Notice
>>>>>>>>>>>
>>>>>>>>>>> The information contained in this electronic message and any
>>>>>>>> attachments
>>>>>>>>>>> to this message are intended
>>>>>>>>>>> for the exclusive use of the addressee(s) and may contain
>>>>>>>>>>> confidential
>>>>>>>>>>> or privileged information. If
>>>>>>>>>>> you are not the intended recipient, please notify the sender  
>>>>>>>>>>> at
>>>>>>>>>>> Wipro
>>>>>>>> or
>>>>>>>>>>> [EMAIL PROTECTED] immediately
>>>>>>>>>>> and destroy all copies of this message and any attachments.
>>>>>>>>>>>
>>>>>>>>>>> -------------------------------------------------------------- 
>>>>>>>>>>> -
>>>>>>>>>>> --
>>>>>>>>>>> -
>>>>>>>>>>> ---
>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>> [EMAIL PROTECTED]
>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>> [EMAIL PROTECTED]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Confidentiality Notice
>>>>>>>>>>>
>>>>>>>>>>> The information contained in this electronic message and any
>>>>>>>> attachments
>>>>>>>>>> to this message are intended
>>>>>>>>>>> for the exclusive use of the addressee(s) and may contain
>>>>>>>>>>> confidential
>>>>>>>>> or
>>>>>>>>>> privileged information. If
>>>>>>>>>>> you are not the intended recipient, please notify the sender  
>>>>>>>>>>> at
>>>>>>>>>>> Wipro
>>>>>>>> or
>>>>>>>>>> [EMAIL PROTECTED] immediately
>>>>>>>>>>> and destroy all copies of this message and any attachments.
>>>>>>>>>>>
>>>>>>>>>>> -------------------------------------------------------------- 
>>>>>>>>>>> -
>>>>>>>>>>> --
>>>>>>>>>>> -
>>>>>>>>>>> ---
>>>>>>>>>>> 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]
>>
>
>
>---------------------------------------------------------------------
>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