Solved

get all checked parameters in the servlet

Posted on 2006-11-28
5
200 Views
Last Modified: 2010-04-01
Hi Experts,

I have table in a form, so each row in the table is input (type hidden) and has check box option.

When I have checked two items ( in the first and third row) and submitted , the Servlet takes the first index insert it then it gives me null Exception

so how I can go over all the table rows and see it is checked or not?

This is my Servlet method:


   boolean flag = true;
        int i = 0;
        int counter = 0;
        Controller c = new Controller();
        Vector result = new Vector();

 try {
           
           
           
            while (flag){
               
               
             
                String check = request.getParameter("checkIssue"+i);
               
                System.out.println("check value:------------ : "+check);
               
               
                if (check.equals("issue"+i)){
                   
                 System.out.println("Enter after check if");  
               
                 int id  = Integer.parseInt(request.getParameter("index"+i));
                System.out.println("index is:"+i);
               
                String storekeeper = request.getParameter("userSession");
                System.out.println("userSession is: "+storekeeper);
               
                String empUsername = request.getParameter("username"+i);
                System.out.println("emp username is::"+empUsername);
               
                System.out.println("model is:"+i);
               
                String sn = request.getParameter("ItemSNs"+i);
                System.out.println("item sn is::"+sn);
               
                String cat = request.getParameter("request"+i);
               
                System.out.println("cat:-----"+cat);
               
               
               
                IssuedItem issuedItem = new IssuedItem();
               
                issuedItem.setRecievedTo(empUsername);
                issuedItem.setSerialNumber(sn);
                issuedItem.setCategory(cat);
                issuedItem.setIssuedBy(storekeeper);
               
                int isIssued = c.issueItem(issuedItem);
               
               
             
               
       
                }// end of if
 
            i++;
           
            }// end of while
           
        }// end of try
               
   catch(Exception e){
       
            System.out.println("Exception runs in action issue item:---- "+e.getMessage());
           
            if(request.getParameter("index"+i)== null){
               
                flag = false;
               
                System.out.println("after while");
       
   
    }// end of if null;    
0
Comment
Question by:Sh_Rashed
  • 3
5 Comments
 
LVL 9

Expert Comment

by:owenli27
Comment Utility
the second row checkbox return null when you call  String check = request.getParameter("checkIssue1");
So change:   if (check.equals("issue"+i)) {...
To:   if (check != null && check.equals("issue"+i)) {...
0
 
LVL 9

Expert Comment

by:owenli27
Comment Utility
Your while (flag){} loop will be infinite-loop.  You should change it to for-loop based on how many checkboxes you have.
0
 

Author Comment

by:Sh_Rashed
Comment Utility
I don't know How many checkboxs I have, since the table generated according to the database records .
0
 
LVL 9

Expert Comment

by:owenli27
Comment Utility
We can fix this problem by check if the hidden input box existing ot not if there always be a hidden input box with a checkbox together.

while (flag) {
    if( request.getParameter("index"+i) == null)
       break;
   
     String check = request.getParameter("checkIssue"+i);
     System.out.println("check value:------------ : "+check);

     if (check != null && check.equals("issue"+i)) {...
     .....
0
 
LVL 5

Accepted Solution

by:
dasmaer earned 500 total points
Comment Utility
A small cheat I used for something like this was a javascript counter declared at the top of the generated HTML.  When a new check box is drawn by the JSP, you add a <script></script> that increments the counter each time.  If you then wanted to be super clever you could write a small javascript that'll check if all the boxes have been ticked (or whatever you;re condition is), so that you can do less checking on the server side.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

HOW TO: Install and Configure VMware vSphere Hypervisor 6.5 (ESXi 6.5), Step by Step Tutorial with screenshots. From Download, Checking Media, to Completed Installation.
A safe way to clean winsxs folder from your windows server 2008 R2 editions
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now