免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2946 | 回复: 0
打印 上一主题 下一主题

后台action(servlet)逻辑处理后返回页面提示 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-22 10:02 |只看该作者 |倒序浏览

本文处理的问题是:由一个JSP页面提交一个请求,在处理这个请求之前,先要进行一个逻辑判断,由此判断决定是否对此请求进行处理,并且这个逻辑判断只能在后台的代码里进行,不能在JSP页面用JS完成。这里的提示也就是针对不对请求进行处理时,返回原页面或指定页面,并以弹出JS窗口的形式进行提示。

本文实现的方式有两种,相信用ajax实现会更帅气,但本文由于时间等原因,没用ajax去实现。

1 返回一段JS代码,进行提示并实现跳转

if(state>1){  // 逻辑判断的条件
           
   String ctx=request.getContextPath();
           
   response.setContentType("text/html;charset=utf-8");
   PrintWriter  out = response.getWriter();

   out.print("");
   out.print("alert('当前项目存在相关项目,不可删除!');"); //此提示写死了
   out.print("window.location.href='"+ctx+"/mypath/action1.do?id="+Id+"'");
   out.print("");
   out.close();   //这句不可不写

   return mapping.findForward("complete");
           
}

2 由Action实现跳转并加入是否进行提示的标识,在页面上用JS进行提示

1  页面上提交请求到ACTION 1
2  ACTION 1处理请求,如要跳转,则跳转到一个ACTIN 2
3  ACTTION 2方法中request加入标识,以便在页面上用JS获得并提示相关信息
4  用于提示的页面上用JS获得标识,并进行提示。

ACTION 1:
return mapping.findForward("alertCanNotDelete");

配制文件:
action path="/mypath/action1" name="myForm" scope="request"
           parameter="method"
           type="com.Action1">


           forward name="alertToCanNotDelete"
              path="/mypath/action2.do?method=alertMethod">
           forward>
           
       action>

ACTION 2: alertMethod方法:
request.setAttribute("alertNote", "alertNote");
      
return mapping.findForward("showpage");


jsp 页面上JS显示:

调用 入口:

获得标识并显示:              
function noteAlert(){
    var alertNote = "${alertNote}";
   
    if("alertNote" == alertNote)
    {
       alert("当前项目存在相关项目,不可删除!"); //可放在资源文件里
    }
           
}


1,2这两种方法相比,第2种方法能够将提示放在资源文件里,轻松实现多语言显示。而1达到这样的效里比较麻烦,可以考虑自己编码实现,大体思路是先获得当前采用什么语言,再去读取相应的资源文件,再获得相应属性的值进行显示。









本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/103251/showart_2057314.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP