我将href分配给按钮并将值传递给控制器
JSP页面
<td><a href="viewController?book_id=<%=vo.getBookId()%>"><input type="button" name="remove" value="DELETE"/></a>
</td>
在控制器中,我试图在使用以下方式点击按钮时获取值:
if(request.getParameter("remove") !=null)
{
int cart_id=(Integer)request.getSession(false).getAttribute("cartid");
b_id = (String) request.getParameter("book_id");
int bid=Integer.parseInt(b_id);
System.out.println(bid);
}
虽然我在URL中传递了book_id
值,但这会打印一个空值。
我想知道如何通过按钮获取URL中传递的值。
答案 0 :(得分:3)
您无法将[a]标记与[input]标记组合在一起。 尝试使用表单而不是隐藏的输入:
<form action=viewController>
<input type=hidden name=remove value=delete>
<input type=hidden name=book_id value=<%=vo.getBookId()%>>
<input type=submit value='Delete'>
</form>
生成的网址为:viewController?remove=delete&book_id=...
答案 1 :(得分:2)
按下提交按钮后,将发送整个表单。您可以使用属性action
选择要发送数据的位置:
<form action="demo_form.jsp">
<!--inputs here-->
<input type="submit">Send me now</input>
</form>
在这种情况下,表格将被发送到demo_form.jsp。在HTML5中,如果要为不同的按钮使用不同的servlet,可以使用formaction属性
任何方式,您都不应使用链接发送表单。
可以使用不带按钮链接:
<a href="viewController?book_id=<%=vo.getBookId()%>">Remove</a>