jsp页面中java代码重复执行 执行两次

我在一个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 了 呵呵... 同谢另外三人了!!

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个回答  2015-10-06
pageNumber 不是一个有效的整数,所以报了NumberFormatException异常,建议用try{}catch(){}包围起来
还有在页面上用JS函数判断下,不要让非法的数据进入服务器端去验证。

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

描述来看可能是空字符串(也许是其他的汉字字符串),或者是“???”
建议你看看页面源码,里面是什么样的数据
第2个回答  推荐于2017-12-16
pageNumber 不是一个有效的整数,所以报了NumberFormatException异常,建议用try{}catch(){}包围起来
还有在页面上用JS函数判断下,不要让非法的数据进入服务器端去验证。

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

描述来看可能是空字符串(也许是其他的汉字字符串),或者是“???”
建议你看看页面源码,里面是什么样的数据本回答被提问者采纳
第3个回答  2010-04-14
页面的东西确实会执行多次的
所有的代码在你第一次载入是要执行一次
等你点下什么按钮后,把参数又传到本页面后,页面的程序会再执行一次。所以有时候你再打印的时候会出现两个结果,很正常的
第4个回答  2010-04-14
很简单:
---------------------------------------
1、你要加上try-catch:
int pageNumber=0;
try { pageNumber=Integer.parseInt(request.getParameter("pageNumber")); }catch(Exception e) { pageNumber=0; }
不加就是出错.因为如果获得Null的话不能转类型的。
----------------------------------------
2、执行多次要看看你的代码才知道了,不过估计是你自己写得有问题了,比如循环出错了。

jsp页面中java代码重复执行 执行两次
java执行两次是因为代码逻辑出问题了,检查逻辑并控制提交次数。1、禁用提交事件源2、设置标识,提交时标识true,完成后标识false $(function(){ $("#abv").one("click",function(){ alert("用户点击了提交按钮"); }); \/*$("#abv").click(function(){\/\/方案2 $(this).attr("disabled",true); });*\/...

如果有2个用户访问一个jsp页面,该页面中的java程序片将被执行几次?
两次 一个jsp就是一个servlet,两个用户请求到一个servlet实例,当然也要运行两次了

jsp中如何让JAVA代码提交表单后再执行
需要提交后执行的代码放入if语句中,比如:< List rs = null;if (request.getMethod().equalsIgnoreCase("post")){ \/\/执行提交后执行的代码 \/\/Bean执行之后把结果放入session中,然后在展示出来。rs = ...} else { rs = new ArrayList();\/\/要显示的结果 } > ...

jsp页面嵌入java代码怎么写(jsp页面中java代码无效)
1、写一个新的action或xxx.jsp,专门执行pdao.delpinfo(sfzh);2、用ajax,或form,或隐藏的iframe去请求这个xxx.jsp jstl标签中怎么嵌入Java代码要怎么嵌入java代码呢?jsp页面中嵌入java代码叫做小脚本,如:String str = "java";out.print(str);但是jstl本来就是用来取代小脚本的,因此没有必要再j...

jsp页面被执行的时候,如果又更新了,会重新编写出新的字节码么?_百度知 ...
会的啊 一个jsp就是一个servlet 你的更新了里面的内容,当然tomcat帮你翻译的时候就要重新编译了,然后在生成相应的java文件和class文件 这些翻译出来的文件都在tomcat目录下面的work目录下面

JSP中如何实现一个表单中的两个按钮分别执行两个action
"name", "ACTION1"); action1.jsp里直接用request.getAttribute就可以 这样就可以把各个模块单独用一个jsp文件保存,各个主页面只需要定义html的布局,就可以把各个模块包含近来,各个主页面需要那个模块就写个,模块重复使用。

jsp页面中<%%> 语句什么时候执行
<%%>块语句执行后在将服务器的运行结果返回到客户端,最后你在浏览器端的js才会生效,两种不同的脚本语言,而且不在一个地方运行。<%%>是JSP特有的标签,是服务器端脚本语言,不能显示到浏览器也就是客户端,js是浏览器端的脚本语言,所以客服端访问服务器的时候 ...

请问如何在js中遍历jsp页面里的java代码(如List<xxx>),程序代码如下
js肯定是不能直接操作java的list啊,你可以把list循环成一个json格式的字符串如:String str="";for(int i=0;i<list2.size();i++){ str+=("{id:'"+list2.get(i).getId()+"',pid:'"+list2.get(i).getparentId()+"'},");} if(str.length()>0){ str="["+str.substring(0...

jsp页面写有一点JAVA代码,有一两句数据库操作语句,和if判断语句,安全吗...
最好不要这样做,虽然jsp是经过编译以后过来的,前端是没有办法直接获取jsp的,但是这样不易维护,也不安全

JSP页面编码问题,图中两次设置了编码,分别是什么作用?啥区别?
可以理解为上面的是为java代码设置的 下面的是为html代码设置的 标签是为纯HTML页面设置的编码,在jsp页面中可以省略

相似回答