<%
这段为JSP开始部分读取数据库语句
String jud_count1=request.getParameter("jud_count"); //读取选择行int totalpage1 = 0;
ClassBean mydata = new ClassBean();
RowSet rs1 = new RowSet();
if(jud_count1 != null){
try { //如果选择行非空,执行数据库查询语句
rs1 = mydata.getPagesNum( "", "", 0, 0, "", 0, 1, 20 );
totalpage1 = rs1.getRow(0).getInt("RecordCount"); //取得查询结果记录条数
}catch(Exception e) {
}
}
%>function alertc(){ //该函数被确认按钮触发运行<%
//此处的totalpage1 为3,并表示有3条记录数
System.out.println("totalpage1:" + totalpage1);
%>但在该函数中,该语句:
if( <%=totalpage1%> > 0 ) window.alert("告警!");
这里的 <%=totalpage1%> 却变为0了;不知为什么在同一个函数中,同一个变量怎么会不同的值.
如何根据 <%=totalpage1%> 这个变量来做一些判断?}
这段为JSP开始部分读取数据库语句
String jud_count1=request.getParameter("jud_count"); //读取选择行int totalpage1 = 0;
ClassBean mydata = new ClassBean();
RowSet rs1 = new RowSet();
if(jud_count1 != null){
try { //如果选择行非空,执行数据库查询语句
rs1 = mydata.getPagesNum( "", "", 0, 0, "", 0, 1, 20 );
totalpage1 = rs1.getRow(0).getInt("RecordCount"); //取得查询结果记录条数
}catch(Exception e) {
}
}
%>function alertc(){ //该函数被确认按钮触发运行<%
//此处的totalpage1 为3,并表示有3条记录数
System.out.println("totalpage1:" + totalpage1);
%>但在该函数中,该语句:
if( <%=totalpage1%> > 0 ) window.alert("告警!");
这里的 <%=totalpage1%> 却变为0了;不知为什么在同一个函数中,同一个变量怎么会不同的值.
如何根据 <%=totalpage1%> 这个变量来做一些判断?}
解决方案 »
- Js 打印问题
- 急!急!bugzilla 用户注册报错,Couldn't connect to mail.163.com
- 困扰我的空指针问题,有小老师来解答下吗?
- groovy 集成图形报表
- 急:jsp+mysql的问题:数据库接口程序问题。
- 用getServletContext()为什么得不到对象???
- [讨论] 给 Tomcat 配 1G 的内存是否合适?
- 求救:怎么样同过java编程把internet上的网站(包括图片)下载到本地??给点思路有分!!!
- 50分!那位大哥帮我调试一下代码!总出错!
- 为什么servlet的init没有被执行?
- 复选框最多选10个怎么选
- 为何在JSP中<%=A%><font color="#EE1100"><%=B></font><%=C%>重复输出时会有空格出现?
这段为JSP开始部分读取数据库语句
String jud_count1=request.getParameter("jud_count"); //读取选择行int totalpage1 = 0;
ClassBean mydata = new ClassBean();
RowSet rs1 = new RowSet();
if(jud_count1 != null){
try { //如果选择行非空,执行数据库查询语句
rs1 = mydata.getPagesNum( "", "", 0, 0, "", 0, 1, 20 );
totalpage1 = rs1.getRow(0).getInt("RecordCount"); //取得查询结果记录条数
}catch(Exception e) {
}
}
System.out.println("totalpage1:" + totalpage1);
%>function alertc(){ //该函数被确认按钮触发运行if(document.form1.jud_count.value!=""){
if(<%=jud_count1%>==null){ //非空,提交服务器
form1.action="disp?view=jspsname";
form1.submit();
} <%
//此处的totalpage1 为3,并表示有3条记录数
System.out.println("totalpage2:" + totalpage1);
%>if( "<%=totalpage1%>" > 0 ) window.alert("告警!");
}
jsp页面展现后:
totalpage2:0点击确定后:
totalpage1:3
totalpage2:3不知为什么, 告警总是显示不错。变成楼上的方法也同样。
totalpage2:0点击确定后:
totalpage1:3
totalpage2:3以上是在 web server上显示的(这里是tomcat4.1)
在代码里改为:
function alertc(rows){ //该函数被确认按钮触发运行if(document.form1.jud_count.value!=""){
if(<%=jud_count1%>==null){ //非空,提交服务器
form1.action="disp?view=jspsname";
form1.submit();
} <%
//此处的totalpage1 为3,并表示有3条记录数
System.out.println("totalpage2:" + totalpage1);
%>if( rows > 0 ) window.alert("告警!");
}
LZ要注意JS脚本是客户端的而JSP语言是服务器端的,他们的值有时是会出现偏差的。算法尽量避免他们之间的值传来传去,比如变为参数传入,就相当于在调用时把服务器端的数据转化到了客户端。
<input type="button"name="abc" class="FormInput" value="确 定" onClick=alertc(<%=totalpage1%>)>
jsp页面展现后:
totalpage1:0
totalpage2:0点击确定后:
totalpage1:3
totalpage2:3并且不能实现告警!
解决办法:要么把alert()放到表单提交前,要么把rows作为参数传加到表单的action上,
form1.action="disp?view=jspsname&&rows="+rows;//disp是个页面???
在另外一张JSP页面上报警。
if(<%=jud_count1%>==null){ //非空,提交服务器
form1.action="disp?view=jspsname";
form1.submit();
} <%
//此处的totalpage1 为3,并表示有3条记录数
System.out.println("totalpage2:" + totalpage1);
%>if( obj > 0 ) window.alert("告警!"); form1.action="disp?view=jspname2";
form1.submit();
}else{
window.alert("您还没有选择一条记录");
return false;
}
}以上是我改后的函数。
{/////////你这已经提交表单,页面已经跳转,报警不能实现。跳转后alert()不起作用。
if(<%=jud_count1%>==null){ //非空,提交服务器
form1.action="disp?view=jspsname";
form1.submit();
} <%
//此处的totalpage1 为3,并表示有3条记录数
System.out.println("totalpage2:" + totalpage1);
%>if( obj > 0 ) window.alert("告警!"); form1.action="disp?view=jspname2";
form1.submit();
}else{
window.alert("您还没有选择一条记录");
return false;
}
}
alert()函数在表单提交后面,表单提交后页面已经发生跳转,而你的报警还在原来的页面,当然不能报警。
解决办法:要么把alert()放到表单提交前,要么把obj作为参数传加到表单的action上,
form1.action="disp?view=jspsname&&rows="+obj;//disp是个页面???
在另外一张JSP页面上报警。