从选定行到servlet的数据

时间:2016-09-14 20:22:09

标签: html jsp servlets getparameter

此代码是用jsp编写的。它是一个包含行和列的动态表。单击提交按钮时,只应将选定的行和该行中的数据提取到servlet中。

``<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page import="java.io.*,java.util.*,java.sql.*" %>
    <%@ page import="javax.servlet.http.*,javax.servlet.*" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Saravana Bhavan</title>
<link rel="stylesheet" href="css/lavish-bootstrap.css"/>
<link rel="stylesheet" href="css/font-awesome.css"/>
</head>
<body>
<form name="f1" method="post" action="Insertcheck.jsp">
<sql:setDataSource var="snapshot"
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:xe"
user="system" password="pswd"
/>
<sql:query dataSource="${snapshot}" var="result">
select * from vendormenu
</sql:query>
<center><h3>Saravana Bhavan</h3>
<h4 class="text-muted">Menu</h4></center>
<div class="panel">
<table class="table table-bordered table-responsive" border="2" width="100%">
<tr>

<td>ITEM CODE</td>
<td>ITEM NAME</td>
<td>RATE</td>
<td></td>

</tr>
<c:forEach var="row" items="${result.rows}">
<center>
<tr>
<td><c:out value="${row.mid }"/>
</td>
<td><c:out value="${row.mname }"/>
</td>
<td><c:out value="${row.cost }"/></td>
<td><div class="checkbox">
  <label><input type="checkbox" name="yes"></label></div></td>
</tr>
</center>
</c:forEach>
</table>
<br><br>
<center><input type="submit" /></center>
</div>
</form>
</body>
</html>

我需要将用户使用复选框选择的每一行中的值打印到jsp中的servlet中。动态添加行。如何从所选行中检索所有值?

1 个答案:

答案 0 :(得分:0)

建议${row.mid}是唯一的,在您的复选框中添加value属性:

<input type="checkbox" name="yes" value="${row.mid}" />

然后,在servlet / JSP处理表单(顺便说一句。我在你的页面中看不到任何<form>标签!),使用

String[] selectedMIDs = request.getParameterValues('yes');

获取所选mid s的数组。