You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Sashi Ravipati <Ra...@michigan.gov> on 2003/06/12 20:09:55 UTC
Re: how to pass more than one value when a multibox is
checked?
I used the following code for two text boxes, u can change it to your
need
I am also learning so bear with my suggestions.
1. 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();
}
}
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;
}
2. 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>
3.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
>>> hgao@epalscorp.com 06/12/03 01:35PM >>>
Hi,
I am not able to pass more than one value when a multibox is checked. Is
there any
possible (or alternate) way to do it?
I have a table in the JSP where each row contains a multibox, and a
text field. When I select a checkbox and then enter some value in the
text field and Submit, I need to get text field value related to this
checkbox. Is there a possible way to achieve this?
How can I know which checkbox connects to which text field?
My jsp page is as followings:
<logic:iterate id="element" name="projects" >
<tr>
<td align="right">
<html:multibox property="selectedItems" >
<bean:write name="element" property="id"/>
</html:multibox>
</td>
<td align="right"><strong>project Title:</strong></td>
<td><html:text name="element" property="name"/>
</td>
</tr>
</logic:iterate>
Thanks in advance!
Sarah
RE: how to pass more than one value when a multibox ischecked?
Posted by Huan Gao <hg...@epalscorp.com>.
Hi Sashi,
Thanks very much for your answer.
But my jsp page is a little different from yours, I have multibox and
text fields in my jsp page:
My jsp page is as followings:
<logic:iterate id="element" name="projects" >
<tr>
<td align="right">
<html:multibox property="selectedItems" >
<bean:write name="element" property="id"/>
</html:multibox>
</td>
<td align="right"><strong>project Title:</strong></td>
<td><html:text name="element" property="name"/>
</td>
</tr>
</logic:iterate>
In my form:
private String[] name = null;
public String[] getName() {
return name;
}
public void setName(String[] name) {
this.name = name;
}
private String[] selectedItems = {};
public String[] getSelectedItems() {
return this.selectedItems;
}
public void setSelectedItems(String[] selectedItems) {
this.selectedItems = selectedItems;
}
In my action:
String selectedItems[]=((MyForm)form).getSelectedItems();
String nameArray[]=((MyForm)form).getName();
Long actId=null;
for(int i=0;i<selectedItems.length;i++){
actId=new Long(selectedItems[i]);
String name= nameArray [i];
}
In my action, I want to get "name" which is corresponding to the
checkbox that checked. But I always get the name which is corresponding
to the first checkbox, even I checked the second or third checkbox. How
can I know which checkbox related to which text field.
Thanks a lot!
Sarah
-----Original Message-----
From: Sashi Ravipati [mailto:RavipatiS@michigan.gov]
Sent: Thursday, June 12, 2003 2:10 PM
To: struts-user@jakarta.apache.org
Subject: Re: how to pass more than one value when a multibox ischecked?
I used the following code for two text boxes, u can change it to your
need
I am also learning so bear with my suggestions.
1. 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();
}
}
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;
}
2. 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>
3.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
>>> hgao@epalscorp.com 06/12/03 01:35PM >>>
Hi,
I am not able to pass more than one value when a multibox is checked. Is
there any
possible (or alternate) way to do it?
I have a table in the JSP where each row contains a multibox, and a
text field. When I select a checkbox and then enter some value in the
text field and Submit, I need to get text field value related to this
checkbox. Is there a possible way to achieve this?
How can I know which checkbox connects to which text field?
My jsp page is as followings:
<logic:iterate id="element" name="projects" >
<tr>
<td align="right">
<html:multibox property="selectedItems" >
<bean:write name="element" property="id"/>
</html:multibox>
</td>
<td align="right"><strong>project Title:</strong></td>
<td><html:text name="element" property="name"/>
</td>
</tr>
</logic:iterate>
Thanks in advance!
Sarah
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org