2
我有一個jsp,向我展示了一個來自基地的學生列表。對於每個學生我想要2個按鈕 - 編輯和刪除。在編輯上單擊該請求應重定向到我的servlet控制器,並打開一個新的jsp編輯選定的學生的數據。在刪除單擊一個刪除請求選定的學生被髮送到控制器。現在,它看起來像這樣:在JSP中處理多個提交按鈕
<%@page import="socnet2.Student"%>
<!-- class Student emulates real student -->
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<jsp:useBean class="socnet2.DAO" id="dao" scope="request"></jsp:useBean>
<p><b>List of all students:</b></p>
<form action="/JSP1/Controler" method="POST">
<jsp:scriptlet>
for (Student s : dao.getAllStudents()) {
</jsp:scriptlet>
<p> <jsp:expression> s.getName() + " " + s.getSurname()</jsp:expression></p>
<input type="submit" name="Edit" value="Edit" />
<input type="submit" name="Delete" value ="Delete"/>
<jsp:scriptlet>
}
</jsp:scriptlet>
</form>
</body>
問題是我無法弄清楚如何給我的學生與按鈕連接的方式,當請求發送到位指示已知被點擊,哪些學生是哪個按鈕被選中。我知道我需要爲每個學生提供一些唯一的ID,但不知道如何創建它...
感謝idea.The事情是我不具有唯一的ID爲一個類中的學生,因爲class Student只是一些封裝,而base只存在於每個用戶具有不同角色的大表USERS中。所以我用簡單的整數計數器來添加。我按照你的建議更改了上面的代碼,並嘗試了這樣的 int counter = 0; ArrayList students = dao.getAllStudents(); session.setAttribute(「學生」,學生); (學生s:dao.getAllStudents()){ jsp:scriptlet>不要使請求翻倍。但是現在不好 –
ferbolg
我的意思是對數據庫的請求。但是現在netbeans說沒有終止 –
ferbolg