js页面通过servlet 删除一条数据之后,返回到原jsp页面,仍显示删除数据,该怎样处理?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js页面通过servlet 删除一条数据之后,返回到原jsp页面,仍显示删除数据,该怎样处理?相关的知识,希望对你有一定的参考价值。
我在servlet中通过response.sendRedirect(request.getHeader("Referer"));返回之前界面,但仍显示已删除数据,需手动刷新才能将删除数据刷掉,哪位高手帮帮忙啊
可能有缓存,还有你的实现不好....1.缓存的处理方法 可以通过过滤器,或者有response的地方(如:jsp页面)
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0L);
2.技术实现
一般情况下,都不太用response.sendRedirect("") .
用这个得比较多request.getRequestDispatcher("").forward(request,response);
具体 forward 和 redirect的区别,你可以网上查查,相信你面试前准备的时候都背过
3.业务实现
你这里用了一个技巧, 获得刚刚过来的页面的路径request.getHeader("Referer"),这样动态性确实不错.
不过一般的处理方式是,:
列表 -> 删除 -> 列表 select.do -> delete.do -> select.do
列表->编辑->删除->列表 select.do -> view.do->delete.do->select.do
这个你应该能明白.
前面的没什么,就是你在删除后,再跳转到查询页面(是通过后台,不是直接jsp跳转),再查询一遍,这样就不会出现脏数据了(如果出现,可能是别的原因)
你试试 参考技术A 这是因为jsp刷新的时候没有进行剔除id查询。
一般删除数据成功了,但显示页面还有显示
说明显示页面上显示并不是数据库里的数据
建议做一个删除后自动跳转到查询页面,再访问一次数据库,这样就可以不显示删除后的数据。 参考技术B 可以这样:
第一,使用 ajax 方式删除,删除以后,直接在页面上 remove 掉相应的行即可
第二,重定向方式删除,删除掉以后,再查询一遍数据,转发到显示的页面
request.getDispatcher("xxx.jsp").forward(request,response); 参考技术C 用response.sendRedirect("XXX.jsp");删除后直接跳回之前的页面试试 参考技术D 删完记录后再调用一次查询方法,查询方法返回JSP
用JQuery实现ajax删除数据
数据显示在这个页面。然后在这个页面点击删除后。怎么有无刷新把更新后的数据显示出来呢?
参考技术A 删除的时候,获取当前删除行的行号,删除成功之后,把这一行数据删除;其实可以用jquery的easyui 或者ligerui 来实现,还不错。这2个插件的实现:
在页面加载完成时,通过ajax去后台获取数据,封装成json,传回页面,然后将数据解析,生成table,写入数据行。当你需要对数据操作时,同样也是异步操作,操作完成之后,再去查询数据,通过js重新生成table,写入数据行。
你可以看下这2个插件的api。追问
删除成功过后。然后在去读取数据库。把新数据生成table显示吗
追答嗯,是这样的。
追问谢谢额。不过你说的那2个插件不懂!一会就去看看
本回答被提问者和网友采纳 参考技术B 就是删除玩后 你可以在后台执行一个重新绑定grid的方法 那他就刷新了嘛追问没有刷新。只是集合刷新了。页面没有刷新,所有数据还是之前的那个
追答我是说你后台重新绑定了 你前台的页面不刷新 但是数据会刷新 同学
参考技术C 你把那条数据的ID传到Jquery里面去用$.ajax()技术在传到后台进行删除语句就可以了追问删除是可以啦。就是删除完成了后。要把更新后的数据又显示出来
以上是关于js页面通过servlet 删除一条数据之后,返回到原jsp页面,仍显示删除数据,该怎样处理?的主要内容,如果未能解决你的问题,请参考以下文章
java web后台通过通讯协议拿到数据后怎么主动让其在前端页面上显示出来?