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 了 呵呵... 同谢另外三人了!!
展开
 我来答
千锋教育
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="测试用按钮"/>
郭某人来此
2015-10-06 · TA获得超过1645个赞
知道答主
回答量:952
采纳率:100%
帮助的人:89.4万
展开全部
pageNumber 不是一个有效的整数,所以报了NumberFormatException异常,建议用try{}catch(){}包围起来
还有在页面上用JS函数判断下,不要让非法的数据进入服务器端去验证。

补充回答:
不是一个有效的数字,从你的【但是随后我打印pageNumber的值 System.out.println("pageNumber--"+pageNumber);却能打印出pageNumber的值来???太奇怪了吧...

描述来看可能是空字符串(也许是其他的汉字字符串),或者是“???”
建议你看看页面源码,里面是什么样的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铁猴
推荐于2017-12-16 · 努力学习中,因为想做一个有知识的农民。
铁猴
采纳数:77 获赞数:636

向TA提问 私信TA
展开全部
pageNumber 不是一个有效的整数,所以报了NumberFormatException异常,建议用try{}catch(){}包围起来
还有在页面上用JS函数判断下,不要让非法的数据进入服务器端去验证。

补充回答:
不是一个有效的数字,从你的【但是随后我打印pageNumber的值 System.out.println("pageNumber--"+pageNumber);却能打印出pageNumber的值来???太奇怪了吧...

描述来看可能是空字符串(也许是其他的汉字字符串),或者是“???”
建议你看看页面源码,里面是什么样的数据
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8bf4721dd
2010-04-14 · TA获得超过514个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:378万
展开全部
页面的东西确实会执行多次的
所有的代码在你第一次载入是要执行一次
等你点下什么按钮后,把参数又传到本页面后,页面的程序会再执行一次。所以有时候你再打印的时候会出现两个结果,很正常的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林春彬
2010-04-14 · 超过18用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:66.1万
展开全部
很简单:
---------------------------------------
1、你要加上try-catch:
int pageNumber=0;
try { pageNumber=Integer.parseInt(request.getParameter("pageNumber")); }catch(Exception e) { pageNumber=0; }
不加就是出错.因为如果获得Null的话不能转类型的。
----------------------------------------
2、执行多次要看看你的代码才知道了,不过估计是你自己写得有问题了,比如循环出错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式