创建html表,这取决于下拉选择

时间:2016-06-23 07:48:42

标签: java

我有一个从数据库表填充的下拉列表。现在我想要表 来自同一数据库表的值取决于下拉选择。 在jsp中编写代码

1 个答案:

答案 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标记迭代表记录。

我希望这对你有所帮助。