• 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 ...
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
  • Paul Clapham
  • Junilu Lacar
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Ganesh Patekar
  • Tim Moores
  • Pete Letkeman
  • Stephan van Hulst
  • Carey Brown
  • Tim Holloway
  • Joe Ess

Call JSP function from onchange event  RSS feed

Posts: 26
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?
Ranch Hand
Posts: 169
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
Author and ninkuma
Posts: 66787
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!