请教一个缓存的问题,希望各位帮忙解决

zhouluok007 2011-03-23 04:41:10
最近做了下SSH的简单例子, 发现一个以前没有注意的问题, 就是主页面有很多行数据, 每行后面有删除操作, 我是通过A标


签将 ID 传递到后台然后从数据库中删除该行数据,然后再调用doList()回到主页面, 这时页面数据确实已经删除,数据库中的



数据也已经删除,不过当我F5刷新页面时会出现以下错误信息

javax.servlet.ServletException: java.lang.IllegalArgumentException: attempt to create delete event with null entity
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

如果不刷新则无事, 请问下 这样的情况该如何解决


...全文
79 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingyuan18 2011-03-24
  • 打赏
  • 举报
回复
刷新的时候肯定重新触发了删除操作,单步你的Action,看前台传过来的请求是什么
zhouluok007 2011-03-24
  • 打赏
  • 举报
回复
8楼的答案很正确,其他人的我还没有试 不过还是感谢大家了!
thislovebyyou 2011-03-24
  • 打赏
  • 举报
回复
删除后你调用下list方法··这样刷新会执行list了!
genglukuan 2011-03-24
  • 打赏
  • 举报
回复
同意8楼的说法。
e生态_修身 2011-03-24
  • 打赏
  • 举报
回复
你有没有判断当对象为空的时候就不在进行删除了!可能你没有判断吧!!!
licip 2011-03-24
  • 打赏
  • 举报
回复
你用redirect重定向吧。就不会了。
kai27ks 2011-03-24
  • 打赏
  • 举报
回复
正常的删除操作是不会出现这种情况的。你这种情况像是你把URL写死了。
Horrison 2011-03-24
  • 打赏
  • 举报
回复
这是应为你刷新的时候,又提交了表单,要想避免这种情况,可以用struts的 令牌机制(Token)
或者是通过ajax实现
qianyecq 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhouluok007 的回复:]
有人帮我指点一下吗?
[/Quote]
把页面代码贴出来看看。
zhouluok007 2011-03-24
  • 打赏
  • 举报
回复
有人帮我指点一下吗?
zhouluok007 2011-03-23
  • 打赏
  • 举报
回复
是的, 应该如你所说,是重新提交了一次请求, 但是怎么避免这个情况呢?
我的是<a herf="url?doDelete&id=${bean.id}"></a>
lyhmy 2011-03-23
  • 打赏
  • 举报
回复
通过A标签将ID传递到后台 是什么意思?不会是每次都要执行的吧????你每刷新一次就相当于重新提交一次请求,你要是没给他指定id,他从哪来的实体??当然会错

81,092

社区成员

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

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