将java变量传递给sql(netbeans)
我正在创建一个表,我想显示用户选择的区域的信息。但是当我运行代码时,它只显示第一个复选框 任何帮助都将不胜感激将java变量传递给sql(netbeans),java,mysql,sql,jsp,Java,Mysql,Sql,Jsp,我正在创建一个表,我想显示用户选择的区域的信息。但是当我运行代码时,它只显示第一个复选框 任何帮助都将不胜感激 <section> <p1>Select the areas you want to know about:</p1><br><br> <form action="Areas_of_knowledge.jsp" method="GET"> <i
<section>
<p1>Select the areas you want to know about:</p1><br><br>
<form action="Areas_of_knowledge.jsp" method="GET">
<input type="checkbox" name="area_evento" value="Mathematics">Mathematics<br>
<input type="checkbox" name="area_evento" value="Astronomy">Astronomy<br>
<input type="checkbox" name="area_evento" value="Computer Science">Computer Science<br>
<input type="checkbox" name="area_evento" value="Biology">Biology<br>
<input type="checkbox" name="area_evento" value="Physics">Physics<br>
<input type="checkbox" name="area_evento" value="Chemistry">Chemistry<br>
<input type="checkbox" name="area_evento" value="Psychology">Psychology<br>
<input type="checkbox" name="area_evento" value="Human Sciences">Human Sciences<br>
<input type="checkbox" name="area_evento" value="Interdisciplinary">Interdisciplinary<br>
<input type="checkbox" name="area_evento" value="Other">Other<br><br>
<input type="submit" value="Submit" size="50">
</form>
<!-- Ciclo para realizar la consulta -->
<c:if test="${!empty param.area_evento}">
<%
String select[] = request.getParameterValues("area_evento");
if (select != null && select.length != 0) {
for (int i = 0; i < select.length; i++) {
String v = select[i];
%>
<sql:query var="evento" dataSource="jdbc/eventos">
SELECT id_evento, persona_idfk, nom_evento, fecha_evento, num_part_evento, lugar_evento, area_evento FROM evento WHERE area_evento=?
<sql:param value="${param.area_evento}"/>
</sql:query>
<c:if test="${evento.rowCount>0}">
<c:set var="area_evento" value="${evento.rows[0].area_evento}"/>
<!-- Tabla de eventos -->
<table>
<!-- Título de la tabla -->
<caption><h2>Events in ${evento.rows[0].area_evento}</h2></caption>
<!-- Cabezote de la tabla -->
<tr2>
<td>Name</td>
<td>Date</td>
<td>Attendees</td>
<td>Place</td>
<td>Area of Knowledge</td>
</tr2>
<%-- Realiza la consulta para cada valor de los eventos y crea la tabla --%>
<c:forEach var="row" items="${evento.rows}"><tr>
<td><c:out value="${row.nom_evento}"/><br></td>
<td><c:out value="${row.fecha_evento}"/><br></td>
<td><c:out value="${row.num_part_evento}"/><br></td>
<td><c:out value="${row.lugar_evento}"/><br></td>
<td><c:out value="${row.area_evento}"/><br></td>
</tr></c:forEach>
</table>
</c:if>
<c:if test="${evento.rowCount==0}">
<c:set var="nom_evento" value="${evento.rows[0].area_evento}"/>
<caption><h2>There are no events in the area you selected.</h2></caption>
</c:if>
<%
}
}
%>
</c:if>
</section>
<!-- Aquí comienza la equiqueta del pie del sitio -->
<footer>
L&V
</footer>
</body>
选择您想了解的领域:
数学
天文学
计算机科学
生物学
物理学
化学
心理学
人文科学
跨学科的
其他
选择id_事件、persona_idfk、nom_事件、fecha_事件、num_part_事件、lugar_事件、area_事件,其中area_事件=?
${evento.rows[0]中的事件。区域\u evento}
名称
日期
与会者
放置
知识领域
您选择的区域中没有事件。
L&V
尝试将查询更改为在中使用
,而不是=
<sql:query var="evento" dataSource="jdbc/eventos">
SELECT id_evento, persona_idfk, nom_evento, fecha_evento, num_part_evento, lugar_evento, area_evento FROM evento WHERE area_evento in (?)
<sql:param value="${param.area_evento}"/>
</sql:query>
选择id\u事件、persona\u idfk、nom\u事件、fecha\u事件、num\u part\u事件、lugar\u事件、area\u事件,从事件中选择area\u事件(?)
它不起作用。。。假设用户选择了天文学、生物学和物理学。它显示的是第一个选定项的三倍。