servlet checkboxs (data from Database)
Hi,
I am displaying data from a DB using EJB3/JEE5 as below:
for(Iteamdetailhlp itemlist: iteamdetailhlp){
//String s=itemlist.getitmid();
out.println("<TR>");
out.println("<form method='get' action='AllItemsser'>");
out.println("<td>");out.println("<input type='checkbox' name='itemcd' value='itemlist.getitmid()'/>"+ itemlist.getitmid());out.println("</td>");
out.println("<td>");out.println( itemlist.getitmname());out.println("</td>");
out.println("<td>");out.println(itemlist.getdescription());out.println("</td>");
out.println("<td>");out.println(itemlist.getitemsize());out.println("</td>");
out.println("<td>");out.println(itemlist.getcolour());out.println("</td>");
out.println("<td>");out.println(itemlist.getprice());out.println("</td>");
out.println("</td>");}
out.println("<input type='Submit' value='itm' name='itm'/>");
String itmcod=request.getParameter("itemcd");
out.println(itmcod);
System.out.println(itmcod);
When I checked the checkbox, I get a null value. How do I make sure, data from the database is applied to the checkbox?
eve
[1287 byte] By [
evepokuaa] at [2007-11-27 4:19:14]

# 1
I have figure this problem out. I had the for Loop closed as below:
for(Iteamdetailhlp itemlist: iteamdetailhlp){
String s=itemlist.getitmid();
out.println("<TR>");
out.println("<form method='get' action='AllItemsser'>");
out.println("<td>");out.println("<input type='checkbox' name='itemcd' value='itemlist.getitmid()'/>"+ itemlist.getitmid());out.println("</td>");
out.println("<td>");out.println( itemlist.getitmname());out.println("</td>");
out.println("<td>");out.println(itemlist.getdescription());out.println("</td>");
out.println("<td>");out.println(itemlist.getitemsize());out.println("</td>");
out.println("<td>");out.println(itemlist.getcolour());out.println("</td>");
out.println("<td>");out.println(itemlist.getprice());out.println("</td>");
out.println("</td>");}//this was closed
out.println("<input type='Submit' value='itm' name='itm'/>");
String itmcod=request.getParameter("itemcd");
out.println(itmcod);
System.out.println(itmcod);
The problems is resolved. But it is doing something else. I will soon sort it out.
Thanks
eve
# 2
out.println("<td>");out.println("<input type='checkbox' name='itemcd' value='itemlist.getitmid()'/>"+ itemlist.getitmid());out.println("</td>");
i think is have problemhere
value='itemlist.getitmid()'
u need to put same as
out.println("<td>");out.println("<input type='checkbox' name='itemcd' value='"+itemlist.getitmid()+"'/>"+ itemlist.getitmid());out.println("</td>");
becouse when you put whithout double qutation will save is the method name the valu of that
thanks
# 3
Thank you. You were right. I did something like you suggested but then I had
and error because, I forgot to put the '+' sign before and after:
'"+ itemlist.getitmid()+ "'
The other problem I was having was that the data coming from the DB was being Collected and displayed in a for Loop:
for(Iteamdetailhlp itemlist: iteamdetailhlp){
out.println("<TR>");
out.println("<form method='get' action='CollectPointordser'>");
out.println("<td>");out.println("<input type='checkbox' name='itemcd' value='"+ itemlist.getitmid()+ "'>"+ itemlist.getitmid());out.println("</td>");
out.println("<td>");out.println( itemlist.getitmname());out.println("</td>");
out.println("<td>");out.println(itemlist.getdescription());out.println("</td>");
out.println("<td>");out.println(itemlist.getitemsize());out.println("</td>");
out.println("<td>");out.println(itemlist.getcolour());out.println("</td>");
out.println("<td>");out.println(itemlist.getprice());out.println("</td>");
out.println("</td>");
}
out.println("<input type='Submit' value='itm' name='itm'/>");
String itmcod=request.getParameter("itemcd");
out.println(itmcod);
//System.out.println(s);
System.out.println(itmcod);
Now as the checkbox has only one name, that means it only collects or prints the first checked box that is ticked.
I think I have to use:
String itmcod=request.getParameterValues("itemcd");
But i am not sure if it would work with a For Loop.
The idea is to allow user to tick whatever item they are looking for. The user
could tick one or more than one item. But I can't give the check box individual names as I don't know how many data would be coming out of the DB.
Any ideas.
Thanks
eve
# 4
hi everyone,
This issue has been resolved with the following code:
for(Iteamdetailhlp itemlist: iteamdetailhlp){
out.println("<TR>");
out.println("<form method='get' action='CollectPointordser'>");
out.println("<td>");out.println("<input type='checkbox' name='itemcd' value='"+ itemlist.getitmid()+ "'>"+ itemlist.getitmid());out.println("</td>");
out.println("<td>");out.println( itemlist.getitmname());out.println("</td>");
out.println("<td>");out.println(itemlist.getdescription());out.println("</td>");
out.println("<td>");out.println(itemlist.getitemsize());out.println("</td>");
out.println("<td>");out.println(itemlist.getcolour());out.println("</td>");
out.println("<td>");out.println(itemlist.getprice());out.println("</td>");
out.println("</td>");
}
out.println("<input type='Submit' value='itm' name='itm'/>");
String[] itmcod=request.getParameterValues("itemcd");
for (int i=0; i<itmcod.length; i++){
out.println(itmcod);
//System.out.println(s);
System.out.println(itmcod);}
thanks
eve>
