我在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传递参数吗?
由于
答案 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>