如何将HTML下拉值传递给JSTL sql:query?

时间:2016-04-15 09:59:00

标签: jsp jstl el

我在SO上看过类似的问题,但答案并不那么令人信服。

我的程序需要根据下拉值加载内容。我使用过JSTL sql:query,所以我需要将下拉值传递给sql:query标签。

我的代码

 Select Book Type <br>
<select name="bookdropdown">
     <option value="Crime">Crime </option>
     <option value="Comedy">Comedy</option>
     <option value="Mystery">Mystery</option>
</select>       

//SQL Datasource configuration code


       <sql:query var="listBooks"   dataSource="${myDS}">
           SELECT * FROM Books WHERE type = ?
            <sql:param value="${bookdropdown}" />
              </sql:query>

是否有直接的方法来加载我想要的内容,基于我尝试过的下拉值?或者我应该通过URL传递servlet传递参数吗?

由于

1 个答案:

答案 0 :(得分:0)

html代码在浏览器的客户端工作。 JSTL代码在服务器端工作。为了将所选项目传递到服务器端,您需要提交表单,然后您可以访问表单的内容作为参数:${param.bookdropdown}。我不会开始将ajax与这项旧技术混合使用。

   <sql:query var="listBooks"   dataSource="${myDS}">
       SELECT * FROM Books WHERE type = ?
        <sql:param value="${param.bookdropdown}" />
          </sql:query>