今天博主遇到一个小问题,在本页面进行form表单提交时,获取的参数值为null。
抛出问题
不多说,看代码:
<form action="${pageContext.request.contextPath}/test/money01.jsp" method="post">
应付款:<input type="text" name="pay">
<br>
实际付款:<input type="text" name="actuallyPay">
<br>
<input type="submit" value="提交" >
</form>
<%
System.out.print(request.getParameter("pay"));
int pay = Integer.parseInt(request.getParameter("pay"));
int actuallyPay = Integer.parseInt(request.getParameter("actuallyPay"));
%>
然后我们打开tomcat运行一下,并可以在控制台上看到:
图1-1 浏览器页面报错
图1-2 控制台输出为null
剖析原因
原来是在tomcat启动的时候,浏览器就加载了Jsp中的java代码,而此时我们并没有输入任何数据,所以获取到的是null。
解决方案
在所有的代码前加上判断,判断获取到的参数是否为null。
代码如下:
<%
if(!(request.getParameter("pay")==null && request.getParameter("actuallyPay")==null){
int pay = Integer.parseInt(request.getParameter("pay"));
int actuallyPay = Integer.parseInt(request.getParameter("actuallyPay"));
}
%>