如標題所述,我需要將數據從我的JSP頁面傳遞到我的servlet。 我將一個數據庫中的數據加載到我的JSP頁面的一個表單中。 現在用戶應該能夠更改該數據。 所以我必須將更改後的數據發送回我的servlet來更新我的數據庫。 因此,我想用doPost()
方法在我的servlet將數據從JSP傳遞到Servlet
這是我的JSP:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-script-type" content="text/javascript" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-language" content="de" />
<link href="../resources/css/basic.css" type="text/css" rel="stylesheet" />
<title>Edit Movie</title>
</head>
<body>
<div id="wrapper">
<h2 id="title">Edit Person</h2>
<br></br>
<br></br>
<form id="1" class="appnitro" method="post" action="">
<ul>
<li id="li_1" >
<label class="description" for="element_1">Name</label>
<div>
<input id="element_1" name="element_1" class="element text large" type="text" maxlength="255" value="${requestScope.person.name}"/>
</div>
</li>
<li id="li_2" >
<label class="description" for="element_2">Deparment</label>
<div>
<input id="element_2" name="element_2" class="element text large" type="text" maxlength="255" value="${requestScope.person.department}"/>
</div>
</li>
<li id="li_3" >
<label class="description" for="element_3">Job</label>
<div>
<input id="element_3" name="element_3" class="element text large" type="text" maxlength="255" value="${requestScope.person.job}"/>
</div>
</li>
<li id="li_4" >
<label class="description" for="element_4">Biographie</label>
<div>
<textarea id="element_4" name="element_4" class="element textarea medium">${requestScope.person.biography}</textarea>
</div>
</li>
<li class="buttons">
<input type="hidden" name="form_id" value="652973" />
<input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" />
</li>
</ul>
</form>
</div>
</body>
</html>
,這是我的Servlet沒有doPost()
方法:
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import de.hof.university.spj.model.People;
import de.hof.university.spj.model.PeopleDAO;
public class SinglePersonEditServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private PeopleDAO peopleDao = new PeopleDAO();
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
String name = "id";
String value = request.getParameter(name);
int id = Integer.parseInt(value);
People people = peopleDao.getPerson(id);
request.setAttribute("person", people);
RequestDispatcher reqDispatcher = request.getRequestDispatcher("../jsp/singlePersonEdit.jsp");
reqDispatcher.forward(request, response);
}
}
提交按鈕是後按下我想將更改後的 數據發送到我的servlet,以便我可以將其存儲在我的數據庫中。
這是來自另一個網站!我有一個站點people.jsp與單身人士的鏈接: String name =「id」我需要從數據庫中選擇具有給定id的人,並將其提供給我上面的jsp站點postet。我的第一個輸入是正確的,因爲我希望文本字段顯示數據庫中實際保存的數據。用戶現在應該可以更改文本字段輸入。這是我想給我的servlet。 – Mulgard
沒關係,請在你的元素中保留'value =「$ {requestScope.person.name}」''。但對於其他人,我認爲你錯過了幾個關於如何使其功能的基本概念。我編輯我的答案看看:) – Akheloes
否則:哪裏的元素的屬性名稱的值ID? – Akheloes