Win a copy of The Journey To Enterprise Agility this week in the Agile and Other Processes forum! And see the welcome thread for 20% off.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
Sheriffs:
  • Paul Clapham
  • Junilu Lacar
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Ganesh Patekar
  • Tim Moores
  • Pete Letkeman
  • Stephan van Hulst
Bartenders:
  • Carey Brown
  • Tim Holloway
  • Joe Ess

Carrying wrong ID from JSP to Servlet  RSS feed

 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey guys.

I am currently working on a webshop where a customer can select a pre-defined carport and purchase it.
On the page all carports are displayed by using a loop that receives an array with all carport information (I am using MYSQL)
It's for a school project, so I have to use JSP.

The page correctly shows all the carports along with their respective ID's, but when a customer selects a specifik carport and presses "buy" (køb)
no matter what carport you choose, it always chooses ID 1.
'

JSP:



Servlet:




Best regards
Rune
 
Ranch Hand
Posts: 30
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
- Your code in JSP have multiple problem about put the tag in wrong position.
- You can not put a form direct inside a table row like you did. Refer to this
- A sample edit for your code to submit the value you want is like this:

- But you should not do like this because it will create a blank cell in your table, let's try to think about non-table presentation? or try to hide the last column?
 
Bartender
Posts: 1844
10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a few suggestions.  I've tried to separate them out. 
Implement one or all of them within your constraints.

First thing.

You have written this whole thing using <% scriptlet tags %>.
Scriptlet tags are bad ok?

Lets introduce you to the JSP Expression tag.  <%= expression %>
The expression tag effectively does an out.print of the expression you place between the tags.

Rather than write:


It would be preferable to have


There.  We've gotten rid of a whole lot of unnecessary boilerplate code.

-----------------------------

The other thing I don't like is your continued use of carports[i].
At the least, declare a local variable for it and assign it at the start of your loop:


-----------------------------

However we can even do better than that using JSTL and EL


It isn't exactly the same because we need an instance of the userServlet rather than what looks like a static import, but that is the way I would want it to look.

Ideally then we could use an EL expression rather than a scriptlet expression
That would look something like:



By using these tools, you can get rid of practically every scriptlet on your page.
-----------------------------------------


Rather than putting the customerId into an input type="hidden" populated from the session, remove that field from the form, and in your servlet retrieve it from the session directly.
i.e.
int customerID = Integer.parseInt(session.getAttribute("customerID"));

I don't know what customerID is.  If it is an Integer already in the session, then you don't need to parse it.

hope this helps,
Stefan

 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!