数据操作后,页面alert提示例子3-后台js打印提示信息并重定向

来源:互联网 发布:java 泛型t获取 class 编辑:程序博客网 时间:2024/06/05 02:00
基类baseAction中java代码:
Java代码 复制代码 收藏代码
  1. /**
  2. *
  3. * @param msg alert提示信息
  4. * @param redirectUrl 重定向url,如果为空,则返回到操作当前页
  5. */
  6. public void alertMsg(String msg,String redirectUrl){
  7. if(msg==null||"".equals(msg.trim())){
  8. return ;
  9. }
  10. PrintWriter out=null;
  11. try {
  12. //设置回发内容编码
  13. ServletActionContext.getResponse().setContentType("text/html;charset=gbk");
  14. out = ServletActionContext.getResponse().getWriter();
  15. } catch (IOException e) {
  16. e.printStackTrace();
  17. }
  18. StringBuilder sb=new StringBuilder();
  19. sb.append("<script>alert('" +msg+"!');");
  20. if(redirectUrl==null||"".equals(redirectUrl.trim())){
  21. sb.append("history.go(-1);");
  22. }else{
  23. sb.append("location='"+redirectUrl+"';");
  24. }
  25. sb.append("</script>");
  26. out.print(sb.toString());
  27. out.flush();
  28. out.close();
  29. }
  30. /**
  31. * alert 提示后跳到当前页面
  32. * @param msg alert提示信息
  33. */
  34. public void alertMsg(String msg){
  35. alertMsg( msg,null);
  36. }
子action中增删改操作后调用例子
Java代码 复制代码 收藏代码
  1. public String delete(){
  2. defaultUrl();
  3. .. your code
  4. this.alertMsg("操作成功",this.getBasePath()+"course/course_list.do");
  5. return null;
  6. }
优点:
1、调用简单,不用修改前端页面,更改代码少
2、刷新不会重新提交
3、跳转后的页面再刷新不会重新alert提示