先声明本人就是个学生,很多东西不懂,这个报错的底层逻辑我也不清楚,也查不到具体文章解释,所以上传本篇文章。
昨天我在做题时,需要带参跳转到一个业务处理Servlet中,我当时使用的是form表单,设置action属性路径后带参,代码如下:
<form action="toUpdateServlet.do?id=${seller.id}&data=审核未通过" method="get">
<input type="submit" value="审核不通过">
</form>
这段代码的目的是单击后向Servlet中传参,根据参数修改数据库数据。
但这段代码在我运行后报错500,提示参数为null值。
但同样的路径和参数,我使用a标签跳转却能正常执行:
<a href="toUpdateServlet.do?id=${seller.id}&data=审核未通过">审核不通过</a>
我尝试过改seller存储的作用域,但不影响报错的结果。最后发现只要设置表单提交方式为post就能正常运行。
<form action="toUpdateServlet.do?id=${seller.id}&data=审核未通过" method="post">
<input type="submit" value="审核不通过">
</form>
我在网上也没有找到文章解释原因,这里贴出来的同时也希望如果有大佬看完这篇文章,可以为我解答一下疑惑。