我正在尝试使用post方法提交表单,如:
<form action="/context/controller" method="post">
<input type="hidden" name="update" value="add_record"/>
<table>
<tr>
<td>Name : </td>
<td><input type="text" name="u_name" /></td>
</tr>
<tr>
<td>Visible :</td>
<td>
<input type="radio" name="visible" value="0"/> No
<input type="radio" name="visible" value="1"/> Yes
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Add record"/>
<input type="reset" value="Reset"/></td>
</tr>
</table>
</form>
我将控制器servlet的doPost()中的表单数据作为:
String updateParam = request.getParameter("update");
System.out.println("Param value : " + updateParam);
if (updateParam.equals("add_record")) {
recordDAO = new RecordDAO();
System.out.println("add if true Param value : " + updateParam);
Record record = new Record();
String name = request.getParameter("u_name");
String visible = request.getParameter("visible");
record.setName(name);
subject.setVisible(visible);
recordDAO.addRecord(record);
request.getRequestDispatcher("/view.jsp").forward(
request, response);
}
这一行
System.out.println("Param value : " + updateParam);
在控制台上打印Param value : add_record
,但如果条件永远不会变为真,那么我就无法添加记录,请告诉我哪里的错误会阻止执行条件的代码。
答案 0 :(得分:0)
“add_record”之前有一个空格,这就是为什么你的条件永远不会变成true
。
所以将条件修改为if (updateParam.equals(" add_record")) {
或者我更喜欢修改你的参数以输出没有空格的字符串。