how to collect data from JSP ?

Posted on 2011-09-13
Last Modified: 2012-08-14
I have database table column as

Itemid | Amount

I shall have a screen attached .

When my user submit the form. I want to insert the data into the above  table.

How do I collect the data in the servlet  so that it can preserve the mapping  i.e   itemid with Amount ?

Question by:cofactor
  • 6
  • 6
LVL 40

Expert Comment

ID: 36528759
You can preserve the indexes in the names
item1, amount1, etc

at the server side, you need to know how many pairs are there, then you can simply fetch
request.getParameter( "item" + index ); //in the loop
request.getParameter( "amount" + index ); //in the loop

something like this?

Author Comment

ID: 36533748
Thanks for the comments. I get some pointer . But my actual screen has one more field.  The above screen is just small part of it.

Here is the proposed screen and proposed database table ATTACHED.

Please see  screen and database table. As you see for a given ID in the screen I have multiple  (select box , amount ) pair.

How do I capture data  at server side for such a screen ? Can you please tell me a workaround ?

N.B: I generate those dynamic rows <tr>  and  select boxes using javascript.
LVL 40

Expert Comment

ID: 36533954
That should not be an issue.

You just need to name those input fields (select and amount) in such a way that by just appending the index (or a counter in a for loop) you should be able to retrieve values in servlet
Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.


Author Comment

ID: 36534096
Still confusing. Need more help here. I'm stuck at this part

>>>You just need to name those input fields

What name you suggest for  ID field ?

What name you suggest for select box and amount pairs  for the above ID field ?

Author Comment

ID: 36534315
comments ?
LVL 40

Expert Comment

ID: 36535007
This means, that for each Id there has to be select box and textbox right.
In this case, i would name my select box and textbox as item_{id value} and amount_{id value}

so, if you are iterating through the ids, you can easily fetch the select box and textbox value by appending the id value to the item_ and amount_

Author Comment

ID: 36535033
No. This will not work.

>>>i would name my select box and textbox as item_{id value} and amount_{id value}

you will have a  multiple select box and textbox for a  given id_value.

How do you address that  ?
LVL 40

Expert Comment

ID: 36540898
Good question. Got me thinking.
I guess one way to deal with this is to have a hidden input for each id, which will tell us how many item and amount pair are for each of them.

Author Comment

ID: 36547152
Not understood.  I dont get your idea.  Could you please tell me

in JSP:
what you write for ID field name ?

what you write for select box  name ?

what you write for amount box  name ?

In Servlet
How you retrieve the multiple values  for ID's and corresponding select box and amount pair now ?

LVL 40

Expert Comment

ID: 36547547
<<what you write for ID field name ?>>

<<what you write for select box  name ?>>

<<what you write for amount box  name ?>>

hidden field value == 1


now if the hidden field value is 2, which means that for one id there are more than one pair

For item id 1 and hidden field value 2


Author Comment

ID: 36547943
>>><<what you write for ID field name ?>>

You should not write a field name as "1" !  ...although nothing stops .

Please note i have to get the value of ID field also.
I should  NOT be doing this    

String field_value=request.getParameter("1"); // this  ..very bad
LVL 40

Accepted Solution

gurvinder372 earned 500 total points
ID: 36548057
i just gave an example, you can give any name you want, and you just have to append this name to the item_ and amount_

Expert Comment

ID: 36556627
you need to have another column added to the table - SeqNo - which would be having value of 1,2,3 etc for a given ID. Please note the combination of ID and SeqNo can be maintained as Unique value if required...
This you can use when naming the type and quantity
for ex:
type="type_<ID>_<SeqID>" for ex:TYPE_101_1, TYPE_101_2 etc...
Quantity="Quantity_<ID>_<SeqID>" for ex:Quantity_101_1, Quantity_101_2 etc...

Please let me know if you face any issue in this...

Featured Post

How Do You Stack Up Against Your Peers?

With today’s modern enterprise so dependent on digital infrastructures, the impact of major incidents has increased dramatically. Grab the report now to gain insight into how your organization ranks against your peers and learn best-in-class strategies to resolve incidents.

Question has a verified solution.

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

Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

749 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