免费注册 查看新帖 |

Chinaunix

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

Stripes tips(8)-Resolution接口 [复制链接]

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

在前面的例子你可以看到,ActionBean 中一个事件对应的方法返回一个  Resolution对象。
Resolution 接口定义。
public interface Resolution {
    void execute(HttpServletRequest request, HttpServletResponse response)
        throws Exception;
}
               
               
Resolution 提供了 HttpServletRequest 和 HttpServletResponse 的访问能力。
Stripes 提供了几种  Resolution  实现,ForwardResolution ,RedirectResolution,StreamingResolution,ErrorResolution。
在前面例子中已经用到了ForwardResolution,它最终调用RequestDispatcher的forward方法显示目标页面。
ForwardResolution 提供了几种构造方法,用于不同目的。
        public ForwardResolution(String path) {
        
    }       
   
    public ForwardResolution(Class beanType) {
      
    }

    public ForwardResolution(Class beanType, String event) {
        
    }
               
第一种,直接指定 URL 地址,这种方法简单明了。后两种不直接使用 URL ,它可以从一个ActionBean 转向另外一个 ActionBean ,Stripes 会自动转向目标 ActionBean 和触发 ActionBean 事件所对应的 URL 地址。
RedirectResolution与ForwardResolution不同的是它调用 HttpServletResponse 的sendRedirect方法显示目标页面。
StreamingResolution 不会将客户端转向另一个页面,它向客户端发送数据流。这个Resolution 常常用于动态显示图片,显示图表,XML数据。它提供一个可选的 filename 属性,可以用于文件下载。如果设置了该属性,那么在输出时 Stripes 会在输出流中会在文件头写入 Content-Disposition 信息 ,它指定下载文件的名称,在浏览器中会自动弹出下载文件窗口。StreamingResolution 会在后介绍使用。
ErrorResolution可以向客户端发送 HTTP 错误状态码和自定义的错误信息。
另外,Stripes 还提供了一种 JavaScriptResolution ,但奇怪的是这个 Resolution 没有从 StreamingResolution 继承。
               
               
               

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP