Solved

get all checked parameters in the servlet

Posted on 2006-11-28
5
203 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
ID: 18028366
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
ID: 18028442
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
ID: 18028643
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
ID: 18028990
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
ID: 18031807
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

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Help with LDAp login using jsp 6 115
immutable object concept 5 120
build fail in maven project 11 186
login form jsp example 2 26
Do you use a spreadsheet like Microsoft's Excel?  Have you ever wanted to link out to a non excel file on your computer or network drive?  This is the way I found to do it!
There’s a good reason for why it’s called a homepage – it closely resembles that of a physical house and the only real difference is that it’s online. Your website’s homepage is where people come to visit you. It’s the family room of your website wh…
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…

803 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