如何解决jsp文件中的提交按钮何时将在servlet中返回“空”值? 另请参见:
我试图了解我是否具有以下形式的fill.jsp文件:
<form action="calculate" method="post">
<input id="userName" type="text" name="userName">
<input id="grossPay" type="number" name="grossPay">
<input id="noOfDependents" type="number" name="noOfDependents">
<input id="btn" type="submit" name="submit" value="Submit">
</form>
然后我有一个使用以下方法的servlet:
protected void processRequest(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html;charset=UTF-8");
String url = "/fill.jsp";
String buttonValue = request.getParameter("submit");
if(buttonValue != null)
{
// do something here
}
}
我试图理解,何时buttonValue == null?每次我单击按钮时,都会得到“提交”值。我无法理解何时可以获得按钮的“空”值?
解决方法
使用其他提交按钮调用servlet方法时,或者不使用任何HTML形式调用servlet方法时,它将为null
。
例如当您在同一表单中有一个“取消”按钮时,或者使用java.net.URLConnection
以编程方式调用servlet时。可以在下面的链接中找到真实的例子。
另请参见:
- How do I call a specific Java method on a click/submit event of a specific button in JSP?
- How to use java.net.URLConnection to fire and handle HTTP requests?
在通常情况下,您将永远不会获得null
作为按钮值。
这是因为提交表单的唯一方法是单击“提交”按钮。
此外,考虑到这是一个POST请求,它实际上是甚至调用servlet的唯一方法。
但是,如果用户在控制台中修改按钮名称,则这是一种可能会返回null
的可能性。
编辑:如果有人尝试进行XSS攻击或向Servlet的POST方法提交表单,则可以调用POST servlet请求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。