I am looking for a quick and dirty way to allow a user to enter something in a text field, click a button, and have some results be displayed based on what is entered. How do I accomplish this with scriptlets in a jsp? Thanks.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can't make scriptlets (java code snippets in <% %>
) execute in any other moment than the moment when the server is preparing the jsp to be rendered.
In case you want to get the results server-side, you could, for instance:
- Put that textfield inside a form, with an
action
attribute:<form action="myServlet">
- Put a
<input type='submit'>
button in the form. - In the
myServlet
servlet, retrieve the textfield's value (request.getParameter()
) and perform the search. Make a request to another/the same jsp and put the results in a request attribute - Display the results in that jsp. You can get them with
<% request.getAttribute(); %>
UDPATE : Take into account that scriptlets are considered poor practice, use JSTL tags and Unified Expression Language instead.
回答2:
There may be some other way to achive you goal. But it is good if you can use AJAX to get dynamic data from the serve side. If the result data is static you can go with javascript.