一尘不染

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

jsp

我有一个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 = ?"


阅读 224

收藏
2020-06-10

共1个答案

一尘不染

可以通过${param}映射的常规方法将其用作请求参数,并以键的确切名称作为您给定<select>元素的名称。

因此给定

<select name="ifs_db_options">

你可以在EL中获得如下

${param.ifs_db_options}

请注意,不建议将JSTL SQL
taglib 用于普通的生产应用程序,因为它会将代码紧密结合在一起。

2020-06-10