如何在 JSP 中从 select 中获取值并放入另一个 select

How to get value from select and put to another select in JSP

提问人:damnetime 提问时间:10/12/2023 最后编辑:Diego Borbadamnetime 更新时间:10/12/2023 访问量:45

问:

我在一个jsp页面中有两个带有sql查询的选择标签。如何将值从选择 1 放到第二个选择?

<sql:query var="priv_query">
    SELECT priv_id from en_privilegetypes
    where actual = 1
</sql:query>

<sql:query var="itemquery">
    SELECT ItemName  from en_items
    where actual = <!-- priv_id  value from priv_query -->
</sql:query>
java html sql jsp

评论


答:

0赞 Diego Borba 10/12/2023 #1

您可以使用 JSTL

<!-- List of priv_id values -->
<c:set var="priv_id_list" value="" />

<!-- Loop through and append the values to the list -->
<c:forEach items="${priv_query.rows}" var="row">
    <c:set var="priv_id_list" value="${priv_id_list}${row.priv_id}" />
    <c:if test="${!loop.last}">,</c:if>
</c:forEach>

<sql:query var="itemquery">
    SELECT ItemName from en_items
    where actual IN (${priv_id_list})
</sql:query>

<c:forEach>循环访问第一个查询的结果集,并将每个值追加到 。priv_idpriv_id_list

然后,您可以将子句 with 用于第二个查询。IN${priv_id_list}

评论

0赞 damnetime 10/12/2023
这仅适用于 select 中的 1 个值
0赞 Diego Borba 10/12/2023
对不起,我更新了我的答案。
0赞 damnetime 10/12/2023
谢谢!这可以满足我的需要,但我删除了 foreach 中值中的“${priv_id_list}”。但是当我在“select”标签中选择另一个值时,第二个“select”标签没有更新。你能帮我解决这个问题吗
0赞 Diego Borba 10/12/2023
你能把这段代码放在问题中让我更好地理解它吗?
1赞 damnetime 10/12/2023
已经用JS做到了。非常感谢您的帮助!