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

时间:2012-02-22 15:34:06

标签: java html jsp jstl

我有一个HTML下拉菜单,我想将所选值作为参数传递给SQL查询。

这是下拉列表:

<select name="ifs_db_options" onchange="submit()">
    <c:forEach var="ifs_db1" items="${ifs_db1.rows}">
        <option value="${ifs_db1.rows}" selected>${ifs_db1.img_hub}</option>
    </c:forEach>
</select>

这是我的查询

<c:set var="hub" value="${ifs_db1}"/>
<sql:query var="ifs_db" dataSource="jdbc/postgresDB">
    select * from ifs_db where img_hub = ?
  <sql:param value="${hub}" />
</sql:query>

我想从下拉列表“值”

传递参数
<c:set var="hub" value="value of the dropdown"/>

这样我就可以将它用作查询"where img_hub = ?"的参数。

1 个答案:

答案 0 :(得分:1)

它可以作为${param}的请求参数,以通常的方式映射,并为您提供<select>元素的确切名称。

所以给出

<select name="ifs_db_options">

你可以在EL

中得到如下内容
${param.ifs_db_options}

请注意,正常生产应用程序的JSTL SQL taglib为discouraged,因为它严格紧密耦合代码。