用户login,会经过action,如果输错,会返回到当前页面。现在问题是:返回之后的页面,如果按刷新,此时浏览器会提示若想继续操作,必须再次请求。我想要的效果是,输错密码之后返回的页面,如果刷新,页面不再提交请求并且会清除输入框的数据。用过token,但是不是我想要的效果,刷新了之后虽然没有提交请求。但是如果这次用户输入了对的账号密码,也是提交不了的,必须重新进入这个login页面。js用的不好,估计应该是通过页面或者js来解决的,所以向各位求救。。

解决方案 »

  1.   

    用js拦截页面的刷新方法,
    / 屏蔽刷新代码  
    document.onkeydown=function()  
    {  
        if ((window.event.keyCode==116) || //屏蔽 F5   
            (window.event.keyCode==122) || //屏蔽 F11   
            (window.event.shiftKey && window.event.keyCode==121) //shift+F10   
           )  
        {  
            window.event.keyCode=0;   
            window.event.returnValue=false;   
        }  
        if ((window.event.altKey)&&(window.event.keyCode==115)) { //屏蔽Alt+F4   
            window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");   
            return false;   
        }  
    }  上面的代码简单处理下,你可以设置一个变量来判断是第一次进入页面还是 错误之后进入该页面
      

  2.   

    不太懂你这个js的意思。。能稍微说一下吗,我就算屏蔽了F5 用户可以使用点击“刷新”吧。。这似乎不能根本解决问题
      

  3.   

    楼主登陆成功 可以把登陆的信息放到session中 如果后退再次刷新的话 那就首先判断session里面有没有登陆的信息 如果有的话直接跳转到首页 我感觉我的这个想法不错哦
      

  4.   

    登录页面刷新会影响到什么吗?请求也只是请求的登录页面html相关的一些数据吧
      

  5.   

    用户密码输入错误以后, 返回到login.jsp让用户重新输了提交。。不输入就不提交。。这样不行么?一个登陆功能LZ自己都搞的糊涂了。。怪异的需求。。别人说不定还比较难以接受
      

  6.   

    response.sendredirect()方法,刷新不会重复提交
      

  7.   

    我觉着session的方法好,直接判断session就行了,有的话进入,没有的话返回
      

  8.   

    token还是不错!或者吧地址给变了!叫转发还是重定向我老是要混淆!
      

  9.   


    会再次提交数据到Action, 因为我的login是输错5次密码自动加锁的,之后就一定时间内不能登录了。每刷新一次,就提交一次错的数据了,这明显不是我想要的。
      

  10.   


    经过action之后返回的页面,在浏览器上是直接.jsp结尾的吗? 是xxx.do?的吧。
      

  11.   

    .do,那是因为你返回到login.jsp的方式不对
      

  12.   


    用的Struts框架 难道这也有错?
      

  13.   

    参考现在DISCUZ论坛的登陆模式,登陆成功后跳转至一个提示页面“您已成功登陆,现在跳转至登陆前页面”,页面传递一个页面的session,跳转页面捕获后用JS localhost.href = ${session}跳转,过后怎么刷新页面都不怕登陆提交action
      

  14.   

    在后台设置session 保存传进去的用户名,传到登陆页面,得到session,判断session
    <%if(session不为空){%>
    <script>
    cls();清空
    </script>
    <%}else{
    输出错误信息
    }
    %>
      

  15.   

    struts2 token 标签。
    或者判断session