如何使用该字段的id通过Servlet读取JSP表单中输入字段的值?

时间:2015-09-03 11:27:31

标签: java html5 jsp servlets

我的JSP包含此form标记:

<form action="MyServlet" method="post">
    Fname:<input type="text" id="fname" placeholder="type first name"/>
    <input type="submit" value="ok"/>
</form>

我的servlet是:

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.cad.database.DatabaseClass;
import com.cad.example.service.InputService;


public class Input extends HttpServlet {

    private static final long serialVersionUID = 1L;
    public Input() {
        super();
        // TODO Auto-generated constructor stub
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String fname = request.getParameterById("fname");
        System.out.println("My name "+fname);
    }   
}

5 个答案:

答案 0 :(得分:4)

为input元素添加name属性。 现在,您的HTML看起来像,

VM

这可以在servlet / java代码中的任何地方访问,

<form action="MyServlet" method="post"> Fname: <input type="text" name="fname" placeholder="type first name" /> <input type="submit" value="ok" /> </form>

据我所知,ID属性不能用于获取java中的值。可以在情况下使用JavaScript来使用ID属性获取innerText或innerHTML。

答案 1 :(得分:2)

您可以使用name字段。这是正确的方法,可以使用方法request.getParameter()

答案 2 :(得分:2)

您可以使用以下更新:

在jsp / html中,添加属性name

<input type="text" id="fname" name="fname" placeholder="type first name"/>

在servlet中:

String fname = request.getParameter("fname");

答案 3 :(得分:1)

同时将name="fname"添加到

<input type="text" name="fname" id="fname" placeholder="type first name"/>

像这样检索

String fname = request.getParameter("fname");

答案 4 :(得分:1)

您已经得到了答案,您需要在输入文本字段中指定名称属性

<input type="text" name="fname" id="fname" placeholder="type first name"/>
  

但是为什么你需要在输入文本字段中指定这个名称属性,这可能仍然不清楚。

我们使用表单元素上的输入文本来提交信息。 仅将具有name属性的输入标记提交给服务器。因此,如果不指定name属性并执行request.getParameter("fname");,则根本不会获得服务器端的值。