使用JSP中的参数刷新页面

时间:2016-10-11 20:59:52

标签: java jsp java-ee

我的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;)但是如何使用此参数重新刷新页面和查询?

3 个答案:

答案 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中编写你的代码..对某人有帮助.. :) 感谢...