jsp页面中java代码重复执行 执行两次
我在一个Server.jsp页面的form中设置了一个hidden的input,name是pageNumber,为什么我在另一个jsp页面DataTransmit.jsp...
我在一个Server.jsp页面的form中设置了一个hidden的input,name是pageNumber,为什么我在另一个jsp页面DataTransmit.jsp中用int pageNumber = Integer.parseInt(request.getParameter("pageNumber"));的时候,报java.lang.NumberFormatException: null的异常??,但是随后我打印pageNumber的值 System.out.println("pageNumber--"+pageNumber);却能打印出pageNumber的值来???太奇怪了吧...
还有更奇怪的,为什么我在DataTransmit.jsp里<%%>中的java代码每句都执行两次啊??而且是每一句执行完两次以后,再执行下一句...
%>_<%
如果说pageNumber无效,那为什么还能打印出它的值呢??
还有那个<% %>中的java代码为什么会重复执行啊,我说的不是所有语句执行完一次,再全部执行一次;而是每句都执行两次再执行下一句。
像下面一样(没有循环语句while或for...)
System.out.println("位置一...");
System.out.println("位置二...");
最后的执行结果是:
位置一...
位置一...
位置二...
位置二...
唉... 不管了 木有解决啊 %>_<% 不过分数不能平分 所有就给 xlth2006 了 呵呵... 同谢另外三人了!! 展开
还有更奇怪的,为什么我在DataTransmit.jsp里<%%>中的java代码每句都执行两次啊??而且是每一句执行完两次以后,再执行下一句...
%>_<%
如果说pageNumber无效,那为什么还能打印出它的值呢??
还有那个<% %>中的java代码为什么会重复执行啊,我说的不是所有语句执行完一次,再全部执行一次;而是每句都执行两次再执行下一句。
像下面一样(没有循环语句while或for...)
System.out.println("位置一...");
System.out.println("位置二...");
最后的执行结果是:
位置一...
位置一...
位置二...
位置二...
唉... 不管了 木有解决啊 %>_<% 不过分数不能平分 所有就给 xlth2006 了 呵呵... 同谢另外三人了!! 展开
6个回答
2015-12-14 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
java执行两次是因为代码逻辑出问题了,检查逻辑并控制提交次数。
1、禁用提交事件源
2、设置标识,提交时标识true,完成后标识false
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#abv").one("click",function(){
alert("用户点击了提交按钮");
});
/*$("#abv").click(function(){//方案2
$(this).attr("disabled",true);
});*/
})
</script>
<input type="submit" id="abv" value="测试用按钮"/>
1、禁用提交事件源
2、设置标识,提交时标识true,完成后标识false
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#abv").one("click",function(){
alert("用户点击了提交按钮");
});
/*$("#abv").click(function(){//方案2
$(this).attr("disabled",true);
});*/
})
</script>
<input type="submit" id="abv" value="测试用按钮"/>
展开全部
pageNumber 不是一个有效的整数,所以报了NumberFormatException异常,建议用try{}catch(){}包围起来
还有在页面上用JS函数判断下,不要让非法的数据进入服务器端去验证。
补充回答:
不是一个有效的数字,从你的【但是随后我打印pageNumber的值 System.out.println("pageNumber--"+pageNumber);却能打印出pageNumber的值来???太奇怪了吧...
】
描述来看可能是空字符串(也许是其他的汉字字符串),或者是“???”
建议你看看页面源码,里面是什么样的数据
还有在页面上用JS函数判断下,不要让非法的数据进入服务器端去验证。
补充回答:
不是一个有效的数字,从你的【但是随后我打印pageNumber的值 System.out.println("pageNumber--"+pageNumber);却能打印出pageNumber的值来???太奇怪了吧...
】
描述来看可能是空字符串(也许是其他的汉字字符串),或者是“???”
建议你看看页面源码,里面是什么样的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
pageNumber 不是一个有效的整数,所以报了NumberFormatException异常,建议用try{}catch(){}包围起来
还有在页面上用JS函数判断下,不要让非法的数据进入服务器端去验证。
补充回答:
不是一个有效的数字,从你的【但是随后我打印pageNumber的值 System.out.println("pageNumber--"+pageNumber);却能打印出pageNumber的值来???太奇怪了吧...
】
描述来看可能是空字符串(也许是其他的汉字字符串),或者是“???”
建议你看看页面源码,里面是什么样的数据
还有在页面上用JS函数判断下,不要让非法的数据进入服务器端去验证。
补充回答:
不是一个有效的数字,从你的【但是随后我打印pageNumber的值 System.out.println("pageNumber--"+pageNumber);却能打印出pageNumber的值来???太奇怪了吧...
】
描述来看可能是空字符串(也许是其他的汉字字符串),或者是“???”
建议你看看页面源码,里面是什么样的数据
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
页面的东西确实会执行多次的
所有的代码在你第一次载入是要执行一次
等你点下什么按钮后,把参数又传到本页面后,页面的程序会再执行一次。所以有时候你再打印的时候会出现两个结果,很正常的
所有的代码在你第一次载入是要执行一次
等你点下什么按钮后,把参数又传到本页面后,页面的程序会再执行一次。所以有时候你再打印的时候会出现两个结果,很正常的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单:
---------------------------------------
1、你要加上try-catch:
int pageNumber=0;
try { pageNumber=Integer.parseInt(request.getParameter("pageNumber")); }catch(Exception e) { pageNumber=0; }
不加就是出错.因为如果获得Null的话不能转类型的。
----------------------------------------
2、执行多次要看看你的代码才知道了,不过估计是你自己写得有问题了,比如循环出错了。
---------------------------------------
1、你要加上try-catch:
int pageNumber=0;
try { pageNumber=Integer.parseInt(request.getParameter("pageNumber")); }catch(Exception e) { pageNumber=0; }
不加就是出错.因为如果获得Null的话不能转类型的。
----------------------------------------
2、执行多次要看看你的代码才知道了,不过估计是你自己写得有问题了,比如循环出错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询