我有一个从数据库表填充的下拉列表。现在我想要表 来自同一数据库表的值取决于下拉选择。 在jsp中编写代码
答案 0 :(得分:-1)
首先制作一个包含你的列表的html表单,如下所示:
<强> form.jsp 强>
<form action="result.jsp">
<select name="myList">
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
</select>
<input type="submit" value="Submit">
</form>
提交表单后,您可以使用以下代码获取所选列表值:<%=request.getParameter("myList")%>;
<%String selectedVal = request.getParameter("myList");%>
现在dataTbl是您选择的表行值,现在您可以使用简单查询填充数据库表,并使用它执行您想要的操作。 你需要这样的东西: 的 result.jsp中强>
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<html>
<head>
<title>SELECT Operation</title>
</head>
<body>
<sql:setDataSource var="ds" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/TEST"
user="root" password="pass123"/>
<sql:query dataSource="${ds}" var="result">
SELECT * from Employees WHERE Id = ?
<sql:param value="${selectedVal}" />;
</sql:query>
<table border="1" width="100%">
<tr>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
<td><c:out value="${row.id}"/></td>
<td><c:out value="${row.first}"/></td>
<td><c:out value="${row.last}"/></td>
<td><c:out value="${row.age}"/></td>
</tr>
</c:forEach>
desciption:首先我们从form.jsp中获取值,这是逐行选择的,我们使用sql标签连接到数据库,然后使用where子句和selectedValue作为查询参数在数据库上运行查询。 然后根据用户选择的行(SelectedVal)显示特定的表数据,并使用for标记迭代表记录。
我希望这对你有所帮助。