あるサーブレットから別のサーブレットにデータを渡そうとしていますが、別のサーブレットからそのサーブレットを戻すときにnullを返します。別のサーブレットから送信されたサーブレットからデータを取得する
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>");
}
ここでは、このクラスでは、私は別のサーブレットEditServletにIDを送信しようとしています。 forループの中では、すべてのidとhtmlの中にそのIDが表示されます。 しかし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
}}
これをテストする際にヒットしたURLは何ですか? – Ivan
@Ivan http:// localhost:8082/CRUDServelt/EditServlet?id2 –
のrequest.getParameter( "id")のパラメータ名は、URLに渡されるものと同じでなければなりません。 – Jabir