get all checked parameters in the servlet

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);
                IssuedItem issuedItem = new IssuedItem();
                int isIssued = c.issueItem(issuedItem);
                }// end of if
            }// 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;    
Who is Participating?
dasmaerConnect With a Mentor Commented:
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.
Weiping DuSenior Web DeveloperCommented:
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)) {...
Weiping DuSenior Web DeveloperCommented:
Your while (flag){} loop will be infinite-loop.  You should change it to for-loop based on how many checkboxes you have.
Sh_RashedAuthor Commented:
I don't know How many checkboxs I have, since the table generated according to the database records .
Weiping DuSenior Web DeveloperCommented:
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)
     String check = request.getParameter("checkIssue"+i);
     System.out.println("check value:------------ : "+check);

     if (check != null && check.equals("issue"+i)) {...
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.