我觉得你的想法有问题:"我的意图是提交这个表单到其他页面后,再back到这个页面后,页面要产生一个新的随机值,这样的效果如何来具体实现呢?"只能用JavaScript来实现吧?
  :::当页面获得焦点时运行产生随机数的JS方法

解决方案 »

  1.   

    你加上
    <%
    response.setHeader("Cache-Control", "no-cache");
    %>
    然后去掉
    //self.location.reload();
    就可以实现你想要的了
      

  2.   

    self.name="<%= randomNumber %>";
      

  3.   

    谢谢,不愧是五星级的高手啊!的确实现了我所想要的功能,还想请问一下,在设置了response.setHeader("Cache-Control", "no-cache");
    后,在页面的后半部分如何再复位呢?谢谢,马上给分哈!!!
      

  4.   

    用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>