RE: what setters do i implement in an indexed tag--NewBiequestion
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
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
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
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
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]