你把查询条件放到Session中就可以了

解决方案 »

  1.   

    每次传过来的查询条件跟Session中的比较下,相同保留,不相同更改,然后更新Session 不就可以了吗?
      

  2.   

    首先明确,多次提交应该是连续的动作
    就是提交成功1次后再做了1次首先可以客户端限制,按钮按完后变灰
    然后session保存form内容,做比较,如果重复就返回
      

  3.   

    不建议在session中保存数据,当数据量,访问量很大的时候,服务器就等着瘫痪吧;
    建议通过令牌(如Struts中StringToken)的机制;但是会涉及到Jsp,可以设计个公用性质的tag,替换Jsp中的默认Submit.关于"hellwindy(夜神·月)"提到的"首先可以客户端限制,按钮按完后变灰
    然后session保存form内容,做比较,如果重复就返回".
    客户端限制是个通用方法,但session中保存form内容,如果页面需要及时响应,那就不行了哦;
    :)
    个人看法,不足之处,请指正.Good Luck!
      

  4.   

    Struts有个令牌可以用用~
    自己实现我有个小办法,写一个key.jsp:
    <%@ page contentType="text/html; charset=GBK" import="com.**.**.*"%>
    <%String id = request.getSession().getId();id = MD5Code.MD5Encode(id);request.getSession().setAttribute("key",id);%>
    <input type="hidden" value="<%=id%>" name="hh">
    这个页面加密个东西,我懒,用的SessionId,你用随即数什么的都行
    然后在表单里加<%@ include page="key.jsp"%>就会生成一个隐藏<input>
    在处理数据时对比,处理完了把key清空-
      

  5.   

    这样你的jsp也没什么大的改动,就是写个include,
      

  6.   

    刚才在开会,先谢谢大家提供的方法。
    因为我们的这个是已经上线运行的系统,不能改动太大。struts的方法是不错,但对我不适用,jsp的方法,我开始就说了,也不适用。希望大家看看还有什么方法没,我也是很无奈啊,维护感觉比开发都麻烦。
      

  7.   

    你不是: 我现在是在session里做了个标志,能够解决他重复提交时       我给他报个错误     返回。 你在返回的时候尝试给他来个后退,那个结果不就是原来的缓存的数据了吗?