隐藏输入在 servlet 中给出 null
Hidden Input is giving null in servlet
这个问题以前在论坛上有人问过,但我想不通。
所以,我将表单传递给 servlet,
<form method="Post" action="../JDBCConnector">
<label for="fname">First Name : </label>
<input type="text" name="fname" id="fname">
<label for="lname">Last Name : </label>
<input type="text" name="lname" id="lname">
<label for="uname">Username : </label>
<input type="text" name="uname" id="uname">
<label for="pswrd">Password : </label>
<input type="password" name="pswrd" id="pswrd">
<input type="hidden" name="hide" id="hide" value=1>
<button type="submit" name="submitButton" id="submitButton">Submit </button>
</form>
servlet 端代码是,
String name = request.getParameter("hide");
response.getWriter().print(name);
String FNAME = request.getParameter("fname");
response.getWriter().print(FNAME);
输出是
null
TestName
基本上,我在隐藏字段的 servlet 中得到了一个空值。有人可以告诉我犯了什么错误吗?
HTML 不带引号的属性仅在特定条件下允许(显然在 XHTML 中不允许,部分允许但在 HTML4.x、HTML5 中不鼓励),有关此 see this post.
的更详细讨论
您只需更改您的代码:
<input type="hidden" name="hide" id="hide" value="1">
这个问题以前在论坛上有人问过,但我想不通。 所以,我将表单传递给 servlet,
<form method="Post" action="../JDBCConnector">
<label for="fname">First Name : </label>
<input type="text" name="fname" id="fname">
<label for="lname">Last Name : </label>
<input type="text" name="lname" id="lname">
<label for="uname">Username : </label>
<input type="text" name="uname" id="uname">
<label for="pswrd">Password : </label>
<input type="password" name="pswrd" id="pswrd">
<input type="hidden" name="hide" id="hide" value=1>
<button type="submit" name="submitButton" id="submitButton">Submit </button>
</form>
servlet 端代码是,
String name = request.getParameter("hide");
response.getWriter().print(name);
String FNAME = request.getParameter("fname");
response.getWriter().print(FNAME);
输出是
null TestName
基本上,我在隐藏字段的 servlet 中得到了一个空值。有人可以告诉我犯了什么错误吗?
HTML 不带引号的属性仅在特定条件下允许(显然在 XHTML 中不允许,部分允许但在 HTML4.x、HTML5 中不鼓励),有关此 see this post.
的更详细讨论您只需更改您的代码:
<input type="hidden" name="hide" id="hide" value="1">