iT邦幫忙

0

使用JSP取得某一行的所有欄位資料

想請問各位大大,小弟目前正在做表格資料,每一行的表格最後面都有"查看資料",點擊下去之後會談出新視窗,並且顯示出所有欄位的資料,但是現在點下去之後,都是跑出Table的全部資料,請問有沒有辦法點擊"查看資料"的時候,他會看那個表格是第幾行,並且從MySQL抓出對應那一行的資料? 謝謝~

1 個回答

1
暐翰
iT邦大師 10 級 ‧ 2018-04-24 11:18:47

以下是單JSP邏輯:
不用ajax版本form配合hidden查詢指定ID的資料

方法:

把你的ID值帶入input hidden裡面

當submit的時候,去呼叫你的api,可以取得form data參數
再把值帶進你的sql字串

以上是演示邏輯
實際要View跟商業邏輯查詢SQL分離,不要寫在一個JSP內

Code:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
	<table border=1>
		<%
			String[] arr_test = {"IT幫_A","IT幫_B","IT幫_C"};
			//如果參數不等於空,只顯示一筆資料
			Integer ID = request.getParameter("ID")!=null?Integer.parseInt(request.getParameter("ID")):null;
			if( ID != null){
		%>
				<tr>
					<form action="" method="get"><!-- action值填你的api url -->
						<td><%=arr_test[ID] %></td>
						<td><input type="submit" value="返回" /></td>
					</form>
				</tr>
		<%				
			}
			else{ //如果參數等於空,查詢所有資料
				for (int i = 0; i < arr_test.length; i++) {
		%>
					<tr>
						<form action="" method="get"><!-- action值填你的api url -->
							<td><%=arr_test[i] %><input type="hidden" name="ID" value="<%=i %>" /></td>
							<td><input type="submit" value="查詢" /></td>
						</form>
					</tr>
		<%
				}
			}
		%>
	</table>
</body>
</html>

效果圖:

沒有ID參數時查詢全部資料(點擊查詢按鈕)

假如有ID參數查指定資料

按返回,沒有ID參數時查詢全部資料

感謝前輩的指教!謝謝~

我要發表回答

立即登入回答