首页 > 解决方案 > Java Servlet HTML 输入表单返回 null

问题描述

request.getParameter("fname") 和 request.getParameter("lname") 返回一个空值。我检查了拼写错误,但找不到。请帮忙。

这是发布到 Java Servlet FirstServlet 的 HTML 代码

  <!DOCTYPE html>
     <html>
     <head>
     <meta charset="UTF-8">
     <title>One</title>
     </head>
     <body>
          <form action="FirstServlet" method="post">
          Enter FirstName: <input type="text" value="fname">
          Enter LastName: <input type="text" value="lname">
          <input type="submit" value="Next">
     </form>
    </body>
   </html>

Java Servlet 代码在这里

  package com;

import java.io.IOException;
import dto.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
* Servlet implementation class FirstServlet
*/
public class FirstServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
   
/**
 * @see HttpServlet#HttpServlet()
 */
public FirstServlet() {
    super();
    // TODO Auto-generated constructor stub
}

/**
 * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
 */
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    User user = new User();
    HttpSession session= request.getSession();
    
    user.setFname(request.getParameter("fname"));
    user.setLname(request.getParameter("lname"));
    session.setAttribute("user", user);
    response.sendRedirect("two.html");


}

  }

标签: javahtmlformsservlets

解决方案


应该是name,不是value

<!DOCTYPE html>
   <html>
     <head>
       <meta charset="UTF-8">
       <title>One</title>
     </head>
     <body>
          <form action="FirstServlet" method="post">
          Enter FirstName: <input type="text" name="fname">
          Enter LastName: <input type="text" name="lname">
          <input type="submit" value="Next">
     </form>
  </body>
</html>

推荐阅读