RE: what setters do i implement in an indexed tag--NewBiequestion

2003-06-12 Thread Sashi Ravipati
John

Thanks for all the code u sent. I have started working on it, and I had
few questions (PLS bear with me if they look stupid).

1. PersonForm (which extends ActionForm) will have get and set methods 
for Name and Phone Number? This PersonForm is also initialized in
Struts-Config.xml 

2. IS myFormBean another bean which extends ActionForm ? Do I need to
set this also in my Struts-Config.xml 

Thanks



 [EMAIL PROTECTED] 06/11/03 06:45PM 
Forgot to mention, I believe for the case of indexing using
logic:iterate your id must match your property. So in your example set
id=personList

Now if you switch over to nested:iterate, the whole id thing goes away
and the property and type attributes are sufficient.

-john

-Original Message-
From: John Greenhill [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 11, 2003 3:37 PM
To: Struts Users Mailing List
Subject: RE: what setters do i implement in an indexed tag
--NewBiequestion


Assuming you're NOT using the lazy initialization, you could do it like
this...



1) your iterate will need to specify the type of the nested class:

logic:iterate id=person name=myFormBean property=personList
type=com.mydom.myproject.struts.Person

Where the Person class has just the standard accessors for name and
phoneNo.


2) Your myFormBean will have the special accessors for indexing:

// SPECIAL ACCESSORS FOR INDEXING NEEDED
public Person getPersonList(int ndx) {
return (PersonForm) personList.get(ndx);
}
public void setPersonList(int ndx, PersonForm p) {
personList.set(ndx, p);
}


3) Assuming you don't already know the size of your personList, your
reset method
will initialize it and create the empty Person objects to fill with the
data:

public void reset(ActionMapping mapping, HttpServletRequest request)
{

this.personList = new ArrayList();

String num = request.getParameter(personListLength);
try {
if (num != null) {
int len = Integer.parseInt(num);
for (int i = 0; i  len; i++)
this.personList.add(new PersonForm());
}
} catch (NumberFormatException e) {
//...
}
}

This assumes the prep action that entered the jsp figured out the size
of the list
and set it into a hidden in the jsp in a field named personListLength.

-john

-Original Message-
From: Sashi Ravipati [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 11, 2003 1:19 PM
To: [EMAIL PROTECTED]
Subject: what setters do i implement in an indexed tag --NewBiequestion


Can some body help in as how to define get and set methods when we use
indexed tags.

eg:

logic:iterate id=person name=myFormBean property=personList
  tr
td
  bean:write name=person property=name/
  html:hidden name=person property=name indexed=true/
/td
td
  html:text name=person property=phoneNo indexed=true/
/td
  /tr
/logic:iterate

What will be the get and set methods. 

Thanks

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


RE: what setters do i implement in an indexed tag --NewBiequestion

2003-06-12 Thread Sandeep Takhar
I would have a

FormBeanName extend ActionForm

have a getPersonList which returns a collection of
Person objects which does not extend the ActionForm

struts-config has

form-bean name=formBean
type=org.FormBeanName
action path=/SomeAction
  form=formBean

sandeep
--- Sashi Ravipati [EMAIL PROTECTED] wrote:
 John
 
 Thanks for all the code u sent. I have started
 working on it, and I had
 few questions (PLS bear with me if they look
 stupid).
 
 1. PersonForm (which extends ActionForm) will have
 get and set methods 
 for Name and Phone Number? This PersonForm is also
 initialized in
 Struts-Config.xml 
 
 2. IS myFormBean another bean which extends
 ActionForm ? Do I need to
 set this also in my Struts-Config.xml 
 
 Thanks
 
 
 
  [EMAIL PROTECTED] 06/11/03 06:45PM
 
 Forgot to mention, I believe for the case of
 indexing using
 logic:iterate your id must match your property. So
 in your example set
 id=personList
 
 Now if you switch over to nested:iterate, the whole
 id thing goes away
 and the property and type attributes are sufficient.
 
 -john
 
 -Original Message-
 From: John Greenhill
 [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, June 11, 2003 3:37 PM
 To: Struts Users Mailing List
 Subject: RE: what setters do i implement in an
 indexed tag
 --NewBiequestion
 
 
 Assuming you're NOT using the lazy initialization,
 you could do it like
 this...
 
 
 
 1) your iterate will need to specify the type of the
 nested class:
 
 logic:iterate id=person name=myFormBean
 property=personList
 type=com.mydom.myproject.struts.Person
 
 Where the Person class has just the standard
 accessors for name and
 phoneNo.
 
 
 2) Your myFormBean will have the special accessors
 for indexing:
 
 // SPECIAL ACCESSORS FOR INDEXING NEEDED
 public Person getPersonList(int ndx) {
 return (PersonForm) personList.get(ndx);
 }
 public void setPersonList(int ndx, PersonForm p)
 {
 personList.set(ndx, p);
 }
 
 
 3) Assuming you don't already know the size of your
 personList, your
 reset method
 will initialize it and create the empty Person
 objects to fill with the
 data:
 
 public void reset(ActionMapping mapping,
 HttpServletRequest request)
 {
 
 this.personList = new ArrayList();
 
 String num =
 request.getParameter(personListLength);
 try {
 if (num != null) {
 int len = Integer.parseInt(num);
 for (int i = 0; i  len; i++)
 this.personList.add(new
 PersonForm());
 }
 } catch (NumberFormatException e) {
 //...
 }
 }
 
 This assumes the prep action that entered the jsp
 figured out the size
 of the list
 and set it into a hidden in the jsp in a field named
 personListLength.
 
 -john
 
 -Original Message-
 From: Sashi Ravipati [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, June 11, 2003 1:19 PM
 To: [EMAIL PROTECTED]
 Subject: what setters do i implement in an indexed
 tag --NewBiequestion
 
 
 Can some body help in as how to define get and set
 methods when we use
 indexed tags.
 
 eg:
 
 logic:iterate id=person name=myFormBean
 property=personList
   tr
 td
   bean:write name=person property=name/
   html:hidden name=person property=name
 indexed=true/
 /td
 td
   html:text name=person property=phoneNo
 indexed=true/
 /td
   /tr
 /logic:iterate
 
 What will be the get and set methods. 
 
 Thanks
 

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


__
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com

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



RE: what setters do i implement in an indexed tag--NewBiequestion

2003-06-12 Thread Sashi Ravipati
John

Made few changes and code worked fine. 

Would like to extend this so that it will work for handling  Dynamic
table situation-- Let me explain

If u see in Action form reset method I initialized it to 5 (num=5 for
testing) so the page loads with five empty rows, But we have a
requirement where the user can add more rows to the table and click
submit.

Action form code:

private ArrayList personList;

  public void reset(ActionMapping mapping, HttpServletRequest request){
 this.personList = new ArrayList();
   // String num = request.getParameter(personListLength);
 String num =5;
try {
if (num != null) {
int len = Integer.parseInt(num);
for (int i = 0; i  len; i++)
this.personList.add(new PersonBean());
}
}catch (NumberFormatException e) {
   e.printStackTrace();
}
}

.jsp

TABLE id=mytable
  logic:present name=personList 
logic:iterate id=person name=dynaTableForm property=personList 
   type=com.learning.struts.PersonBean 

  tr
td
   html:text name=person property=firstName indexed=true/
/td
td
html:text name=person property=phoneNo indexed=true/
/td
  /tr
/logic:iterate
/logic:present
  
/TABLE

  
  public PersonBean getPerson(int ndx) {
return (PersonBean) personList.get(ndx);
}
  public void setPersonList(int ndx, PersonBean p) {
personList.set(ndx, p);
}
  public ArrayList getPersonList(){
return this.personList;
  }

PersonBean:
public class PersonBean implements Serializable
{
  String firstName;
  String phoneNo;

  public PersonBean()
  {
super();
  }

  public String getFirstName()
  {
return firstName;
  }

  public void setFirstName(String newFirstName)
  {
firstName = newFirstName;
  }

  public String getPhoneNo()
  {
return phoneNo;
  }

  public void setPhoneNo(String newPhoneNo)
  {
phoneNo = newPhoneNo;
  }
}

Let me know if u need any further info.

Thanks




 [EMAIL PROTECTED] 06/11/03 06:45PM 
Forgot to mention, I believe for the case of indexing using
logic:iterate your id must match your property. So in your example set
id=personList

Now if you switch over to nested:iterate, the whole id thing goes away
and the property and type attributes are sufficient.

-john

-Original Message-
From: John Greenhill [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 11, 2003 3:37 PM
To: Struts Users Mailing List
Subject: RE: what setters do i implement in an indexed tag
--NewBiequestion


Assuming you're NOT using the lazy initialization, you could do it like
this...



1) your iterate will need to specify the type of the nested class:

logic:iterate id=person name=myFormBean property=personList
type=com.mydom.myproject.struts.Person

Where the Person class has just the standard accessors for name and
phoneNo.


2) Your myFormBean will have the special accessors for indexing:

// SPECIAL ACCESSORS FOR INDEXING NEEDED
public Person getPersonList(int ndx) {
return (PersonForm) personList.get(ndx);
}
public void setPersonList(int ndx, PersonForm p) {
personList.set(ndx, p);
}


3) Assuming you don't already know the size of your personList, your
reset method
will initialize it and create the empty Person objects to fill with the
data:

public void reset(ActionMapping mapping, HttpServletRequest request)
{

this.personList = new ArrayList();

String num = request.getParameter(personListLength);
try {
if (num != null) {
int len = Integer.parseInt(num);
for (int i = 0; i  len; i++)
this.personList.add(new PersonForm());
}
} catch (NumberFormatException e) {
//...
}
}

This assumes the prep action that entered the jsp figured out the size
of the list
and set it into a hidden in the jsp in a field named personListLength.

-john

-Original Message-
From: Sashi Ravipati [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 11, 2003 1:19 PM
To: [EMAIL PROTECTED]
Subject: what setters do i implement in an indexed tag --NewBiequestion


Can some body help in as how to define get and set methods when we use
indexed tags.

eg:

logic:iterate id=person name=myFormBean property=personList
  tr
td
  bean:write name=person property=name/
  html:hidden name=person property=name indexed=true/
/td
td
  html:text name=person property=phoneNo indexed=true/
/td
  /tr
/logic:iterate

What will be the get and set methods. 

Thanks

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


RE: what setters do i implement in an indexed tag --NewBiequestion

2003-06-11 Thread John Greenhill
Assuming you're NOT using the lazy initialization, you could do it like
this...



1) your iterate will need to specify the type of the nested class:

logic:iterate id=person name=myFormBean property=personList
type=com.mydom.myproject.struts.Person

Where the Person class has just the standard accessors for name and
phoneNo.


2) Your myFormBean will have the special accessors for indexing:

// SPECIAL ACCESSORS FOR INDEXING NEEDED
public Person getPersonList(int ndx) {
return (PersonForm) personList.get(ndx);
}
public void setPersonList(int ndx, PersonForm p) {
personList.set(ndx, p);
}


3) Assuming you don't already know the size of your personList, your
reset method
will initialize it and create the empty Person objects to fill with the
data:

public void reset(ActionMapping mapping, HttpServletRequest request)
{

this.personList = new ArrayList();

String num = request.getParameter(personListLength);
try {
if (num != null) {
int len = Integer.parseInt(num);
for (int i = 0; i  len; i++)
this.personList.add(new PersonForm());
}
} catch (NumberFormatException e) {
//...
}
}

This assumes the prep action that entered the jsp figured out the size
of the list
and set it into a hidden in the jsp in a field named personListLength.

-john

-Original Message-
From: Sashi Ravipati [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 11, 2003 1:19 PM
To: [EMAIL PROTECTED]
Subject: what setters do i implement in an indexed tag --NewBiequestion


Can some body help in as how to define get and set methods when we use
indexed tags.

eg:

logic:iterate id=person name=myFormBean property=personList
  tr
td
  bean:write name=person property=name/
  html:hidden name=person property=name indexed=true/
/td
td
  html:text name=person property=phoneNo indexed=true/
/td
  /tr
/logic:iterate

What will be the get and set methods. 

Thanks

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



RE: what setters do i implement in an indexed tag --NewBiequestion

2003-06-11 Thread John Greenhill
Forgot to mention, I believe for the case of indexing using
logic:iterate your id must match your property. So in your example set
id=personList

Now if you switch over to nested:iterate, the whole id thing goes away
and the property and type attributes are sufficient.

-john

-Original Message-
From: John Greenhill [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 11, 2003 3:37 PM
To: Struts Users Mailing List
Subject: RE: what setters do i implement in an indexed tag
--NewBiequestion


Assuming you're NOT using the lazy initialization, you could do it like
this...



1) your iterate will need to specify the type of the nested class:

logic:iterate id=person name=myFormBean property=personList
type=com.mydom.myproject.struts.Person

Where the Person class has just the standard accessors for name and
phoneNo.


2) Your myFormBean will have the special accessors for indexing:

// SPECIAL ACCESSORS FOR INDEXING NEEDED
public Person getPersonList(int ndx) {
return (PersonForm) personList.get(ndx);
}
public void setPersonList(int ndx, PersonForm p) {
personList.set(ndx, p);
}


3) Assuming you don't already know the size of your personList, your
reset method
will initialize it and create the empty Person objects to fill with the
data:

public void reset(ActionMapping mapping, HttpServletRequest request)
{

this.personList = new ArrayList();

String num = request.getParameter(personListLength);
try {
if (num != null) {
int len = Integer.parseInt(num);
for (int i = 0; i  len; i++)
this.personList.add(new PersonForm());
}
} catch (NumberFormatException e) {
//...
}
}

This assumes the prep action that entered the jsp figured out the size
of the list
and set it into a hidden in the jsp in a field named personListLength.

-john

-Original Message-
From: Sashi Ravipati [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 11, 2003 1:19 PM
To: [EMAIL PROTECTED]
Subject: what setters do i implement in an indexed tag --NewBiequestion


Can some body help in as how to define get and set methods when we use
indexed tags.

eg:

logic:iterate id=person name=myFormBean property=personList
  tr
td
  bean:write name=person property=name/
  html:hidden name=person property=name indexed=true/
/td
td
  html:text name=person property=phoneNo indexed=true/
/td
  /tr
/logic:iterate

What will be the get and set methods. 

Thanks

-
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]