我是servlets中的新手 -
我正在填写表单中的文本,但请求中的值为null -
在登录页面 -
<body>
<form action="">
<input type="text" name="uname">
<input type="text" name="pwd">
<a href="display.jsp">link</a>
</form>
</body>
在DisplayPage中 -
<body>
Display:
<%
String uname=(String)request.getParameter("uname");
String upass=(String)request.getParameter("pwd");
out.println(uname+" - "+upass);
Enumeration<String> enumeration = request.getParameterNames();
boolean b=enumeration.hasMoreElements();
out.println(b);
while (enumeration.hasMoreElements()) {
String name = (String) enumeration.nextElement();
String data=(String)request.getParameter(name);
out.println(name+" - "+data);
}
%>
</body>
现在我的结果值uname
和upass
为null
,因此boolean
b
为false
。很奇怪!
我的问题是如果我们使用anchor tag
时创建了请求对象,因为在NPE
对象上调用getParameter()
时没有request
,那么这个request
对象附带了什么样的数据。为什么提供给我们?
答案 0 :(得分:1)
由于您not submitting
是form
到服务器或未通过any value in url
,而是您点击链接,该链接会将其重定向到您的链接。
<body>
<form action="display.jsp"> // added action
<input type="text" name="uname">
<input type="text" name="pwd">
<button type="submit">Link</button> // added submit button
</form>
</body>
更新问题
在服务器端,每个请求都作为HttpServletRequest
对象处理。因此,当我们提交表单时,会提交每个输入字段,然后从服务器端的请求对象中检索它。