我想將數據從一個servlet傳遞到另一個servlet,但是當我從另一個servlet中獲取數據時,它將返回null。從另一個servlet發送的Servlet中獲取數據
ViewServlet.java
@WebServlet("/ViewServlet")
public class ViewServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.println("<a href='index.html'>Add New Employee</a>");
out.println("<h1>All Employees</h1>");
List<Employee> emp=EmpDao.getAllEmployees();
out.print("<table width='50' border='1'>");
out.print("<tr><th>Id</th><th>Username</th><th>email</th><th>country</th><th>Edit</th><th>Delete</th></tr>");
for(Employee e:emp){
System.out.println("in view "+e.getId());
out.print("<tr><td>"+e.getId()+"</td><td>"+e.getUsername()+"</td><td>"+e.getPassword()+"</td><td>"+e.getEmail()+"</td><td>"+e.getCountry()+"</td><td><a href='EditServlet?id"+e.getId()+"''>edit</a></td><td><a href='DeleteServlet?id"+e.getId()+"'>Delete</a></td></tr>");
}
out.println("</table>");
}
在這裏,在這個類我試圖發送ID到我的另一個servlet EditServlet。在for循環中打印所有的id,甚至在html中。 但在EditServlet中它返回null。
EditServlet.java
@WebServlet("/EditServlet")
public class EditServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String id2=request.getParameter("id");
System.out.println("id is"+request.getParameter("id"));//Null is getting printed
int id=Integer.parseInt(id2);
System.out.println("Inside doGet id is"+id);//NumberFormatException
}}
測試這個時你打的網址是什麼? – Ivan
@Ivan http:// localhost:8082/CRUDServelt/EditServlet?id2 –
request.getParameter(「id」)中的參數名稱應該與在URL中傳遞的參數名稱相同 – Jabir