2016-09-14 28 views
0

這段代碼是用jsp編寫的,它是一個包含行和列的動態表。當單擊提交按鈕時,只有選中的行和該行中的數據應該被提取到servlet中。從選定行到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中。這些行是動態添加的。如何檢索所選行中的所有值?

回答

0

。暗示${row.mid}是獨一無二的,加value屬性的複選框:

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

,然後在servlet/JSP處理表單(順便說一句,我不看在你的頁面的任何<form>標籤。!) ,使用

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

得到一個選定的陣列mid s。

+0

我試過這種方法,但使用這個我只會得到中等..我需要所選的行中的所有數據。 – rino