比如有三个页面
input.jsp用户输入,其中有一按钮,可以提交到save.go
save.go处理用户输入,插入数据库,然后重定向到list.jsp
list.jsp显示用户输入的列表。如果是在web浏览器中,这样做完以后,刷新list.jsp,不会重新提交,浏览器记住的最后地址为list.jsp。而在wap中,会再次返回到save.go,然后再次重定向到list.jsp这样就造成了重复提交。我认为wap浏览器不会记住302返回的资源地址,他仍然认为list.jsp的地址是save.go,所以就造成了这种后果。不知道大家有什么好的解决办法。另外,wap浏览器这种表现有没有专业文献来说明?谢谢!

解决方案 »

  1.   

    没有具体用过,但如果真如楼主所说,那么可以借鉴普通浏览器中防止刷新造成重复提交的方案:
    解决方法之一:
    在input.jsp中给浏览器分配一个授权号,在save.jsp中检查浏览器提交上的授权号,正确了才真的执行保存动作。而保存之后就改动授权号,那么wap浏览器在刷新重新提交时,因为授权号不正确而不重复保存。
    当再次进入input.jsp时,给与新的授权号。如此如此,这般这般……
    呵呵
      

  2.   

    方案可行,但不是我想要的。不过还是谢谢。这个问题我已经在多个论坛发了帖子,但还没有得到比较权威的答案。
    我目前的解决方案是这样的:让save.go重定向到saveOK.jsp。这个页面上提供一个到list.jsp的链接,让用户自己点过去。这样就能解决了。但这只是绕开了问题的本质。我觉得这个问题很可能和wap网关有牵扯,我要做进一步研究。希望高手们都帮忙关注一下。