我的Web应用程序中有一个JSP页面,我想用选项参数刷新页面。
<select class="form-control combobox" name="education" >
<option value="" disabled selected hidden>Choose an education</option>
<option>English</option>
<option>French</option>
<option>Dutch</option>
<option>Spanish</option>
</select>
我想使用此参数再次查询我的数据库。 Forexample;
<%
BookDAO bdao = new BookDAO();
for (TblBooks book : bdao.getAllBooks()) {%>
<tr>
<td><%=book.getTittle()%></td>
<td><%=boek.getAuthor()%></td>
<td><%=boek.getCategory()%></td>
<td><%=boek.getEducation()%></td>
<td><input type='checkbox' name ='chk1' /></td>
</tr>
<% }%>
我可以通过request.getParameter获取参数(&#34; education&#34;)但是如何使用此参数重新刷新页面和查询?
答案 0 :(得分:1)
在Javascript中,您可以通过以下方式要求网页重新加载自己(完全相同的网址):
location.href = location.href;
您可以使用相同的机制要求网页加载其他位置:
location.href = 'http://www.google.com'; // or whatever destination url you want
您可以获取select
控件的值(需要具有id属性):
var ctrl = document.getElementById("idOfSelectControl");
var selectedOption = ctrl.options[ctrl.selectedIndex].value;
因此,如果您更新JSP以向控件提供id:
<select class="form-control combobox" id="education" name="education" >
您应该可以重新加载页面:
var educationControl = document.getElementById("education");
var selectedOption = educationControl.options[educationControl.selectedIndex].value;
location.href = "http://mysite.example/mypage?education=" + selectedOption;
答案 1 :(得分:0)
在杰森的帮助下,我已经解决了它。我在我的选择标记
中添加了一个onchange事件onchange="changeThePage()"
然后我定义了一个javascript函数。
function changeThePage() {
var selectedOption = "book.jsp?education=" + $("#education option:selected").text();
location.href = selectedOption;
}
然后我通过
获得了参数String education = request.getParameter("education");
然后我将String education
作为参数添加到我的bdao.getAllBooks(education))
方法中进行查询。
答案 2 :(得分:0)
<script>
function abc(){
var yourSelect = document.getElementById( "ddlViewBy" );
var val = yourSelect.options[ yourSelect.selectedIndex ].value;
//window.location.href=window.location.href;
alert(val);
window.location.replace("index.jsp?name="+val);
}
</script>
<select id="ddlViewBy" onchange="abc()">
<option>select</option>
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>
<%
String name=request.getParameter("name");
if(name!=null){
%>
<table>
<tr>
<td>author<%=name%></td>
<td>book name<%=name%></td>
</tr>
</table>
<%
}
%>
您好, 试试这个,这将有所帮助, 当你选择一个值时,它将调用abc,function,然后你在scriptlet中分配该值..而且页面也是刷新的。在scriptlet中,您可以使用request.getParameter(“name”)访问该值。 现在你可以在scriptlet中编写你的代码..对某人有帮助.. :) 感谢...