请问各位有什么方法可以将Jsp scriptlet中获得的随机值传入到JavaScript中去呢?

ervinlj 2003-10-19 01:13:31
各位,大家好:
先请看以下这段代码:
<%!
String genRandomNumber()
{
long randomnumber=(long)(Math.random()*1000000);
String s="";
s+=randomnumber;
int i=s.length();
for(int j=0;j<6-i;j++)
s="0"+s;
return s;
}
%>
<%
String randomNumber=genRandomNumber();
session.setAttribute("rand",randomNumber);
%>
<form method="post" action="anotherCheck.jsp">
<table>
<tr>
<td align="left">
系统产生的认证码:
</td>
<td>
<script>
self.name=<%= randomNumber %>;
self.location.reload();
document.write(self.name);
</script>
</td>
</tr>
</table>
</form>
我的意图是提交这个表单到其他页面后,再back到这个页面后,页面要产生一个新的随机值,这样的效果如何来具体实现呢?
如果使用以上这段代码的话,就看到页面在不停的刷新,根本无法打开这个页面,请问还有什么其他办法可以实现我这个效果吗?谢谢各位,马上给分!!!

...全文
37 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
liad 2003-10-21
  • 打赏
  • 举报
回复
用javascript来生成“一个却不需要刷新生成的随机认证码”,而用你原来的方式生成“一个在提交表单后back回原来页面刷新生成的随机认证码”,是你想要的吗?

<%-- random.jsp -->
<%@ page contentType="text/html; charset=gbk" %>
<HTML>
<HEAD>
<TITLE></TITLE>
<script language="javascript">
function genRandom()
{
document.all("idNumber").innerText = Math.random();
}
</script>
</HEAD>
<BODY onload="return genRandom();">
<%!
String genRandomNumber()
{
long randomnumber=(long)(Math.random()*1000000);
String s="";
s+=randomnumber;
int i=s.length();
for(int j=0;j<6-i;j++)
s="0"+s;
return s;
}
%>
<%
String randomNumber=genRandomNumber();
session.setAttribute("rand", randomNumber);
%>
<form method="post" action="gbk.jsp">
<table>
<tr>
<td align="left">
系统产生的认证码:
</td>
<td>
<script>
self.name="<%= randomNumber %>";
document.write(self.name);
</script>
</td>
</tr>
</table>
<input type="submit">
</form>
<hr>
<div id="idNumber"></div>
</BODY>
</HTML>
ervinlj 2003-10-20
  • 打赏
  • 举报
回复
没有人知道这个问题的解决吗?问题解决,马上给分哈!
ervinlj 2003-10-20
  • 打赏
  • 举报
回复
up,上面这个问题怎么解决呢?
ervinlj 2003-10-19
  • 打赏
  • 举报
回复
谢谢,不愧是五星级的高手啊!的确实现了我所想要的功能,还想请问一下,在设置了response.setHeader("Cache-Control", "no-cache");
后,在页面的后半部分如何再复位呢?谢谢,马上给分哈!!!
liad 2003-10-19
  • 打赏
  • 举报
回复
self.name="<%= randomNumber %>";
liad 2003-10-19
  • 打赏
  • 举报
回复
你加上
<%
response.setHeader("Cache-Control", "no-cache");
%>
然后去掉
//self.location.reload();
就可以实现你想要的了
angelheavens 2003-10-19
  • 打赏
  • 举报
回复
当你打开页面时就已经"页面获得焦点",并且会产生一个随机数,然后再刷新页面,又产生一个随机数,再刷新页面.......根本就是一个死循环嘛!


你因该给判断或限制
ervinlj 2003-10-19
  • 打赏
  • 举报
回复
页面获得焦点时运行产生随机数的JS方法如何来做啊?
ervinlj 2003-10-19
  • 打赏
  • 举报
回复
up
ervinlj 2003-10-19
  • 打赏
  • 举报
回复
怎么具体来实现呢?我还是不明白,请各位高人能明示,问题解决马上给分哈!!!
yaray 2003-10-19
  • 打赏
  • 举报
回复
我觉得你的想法有问题:

"我的意图是提交这个表单到其他页面后,再back到这个页面后,页面要产生一个新的随机值,这样的效果如何来具体实现呢?"

只能用JavaScript来实现吧?
:::当页面获得焦点时运行产生随机数的JS方法
perfection2003 2003-10-19
  • 打赏
  • 举报
回复
你可以用jsp来编这个函数啊
ervinlj 2003-10-19
  • 打赏
  • 举报
回复
这里真没有高人能为我解决这个问题的吗?急急急!!!
ervinlj 2003-10-19
  • 打赏
  • 举报
回复
没有人知道这个问题的解决方法吗?我急啊!马上可以给分的!!!

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧