Solved

get all checked parameters in the servlet

Posted on 2006-11-28
5
204 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
reflection example 3 113
servlet concurrency 13 110
AlarmClock Challenge 35 155
eclipse luna javeEE perspecive missing 5 113
This article shows the method of using the Resultant Set of Policy Tool to locate Group Policy that applies a particular setting.
Riverbed Technology's webinar discusses networking for the cloud era with simplified SD-WAN cloud connectivity.
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

828 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