File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JSP and the fly likes Call JSP function from onchange event Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » JSP
Bookmark "Call JSP function from onchange event" Watch "Call JSP function from onchange event" New topic

Call JSP function from onchange event

Fernando Matias Valadao

Joined: Feb 19, 2003
Posts: 26
I designed a form that have two drop down lists in a JSP file.
The options in the second list depends on the selected option of the first list and these results come from an XML file. Ok, this is not unusual.
I know how to do this using Javascript, but I want this to be different. I want to write a JSP function that return these results (that means, using DOM or SAX to manipulate the XML file and to populate the drop down with new options).
Here comes my 2 questions:
1 - How can I simulate the onchange event in this situation? That is, how can I call the JSP function when the user change the option selected in the first drop down list?
2 - After calling the JSP function, how can I print the results exactly in the second drop down list?

"In the case of a nuclear attack, the protection of our records is essential, if this country is to carry on its economy and maintain our way of life."
Jeff Grant
Ranch Hand

Joined: Dec 19, 2001
Posts: 169
Since JSP is performed at compile time and not at run time, I don't think this is possible.
I suggest you use Javascript as you said you have done in the past.
Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63868

Jeff is quite correct, you can't just call out to Java (the term 'JSP function' isn't very meaningful) from JavaScript on the page.
In order to go back to the server, you must submit a form or hit a URL in order to initiate the traditional request/response cycle.
So you have three primary choices:
1) Load up all the possibilities in JavaScript objects when the page is rendered so that you can use DHTML to manipulate the drop-downs.
2) Submit the page so that it is refreshed with the approriate values in the drop-downs.
3) Get really tricky and submit the request to an off-screen frame (usually an iframe of zero size), so that the current page does not refresh. However, JavaScript returned in the invisible frame can manipulate the dropdowns on the displayed page as approriate. Sort of the best of both worlds, but of course, trickier to implement and maintain.

[Asking smart questions] [About Bear] [Books by Bear]
I agree. Here's the link:
subject: Call JSP function from onchange event
It's not a secret anymore!