快速业务通道

利用Stripes、Apache Derby和Eclipse进行无配置的J2EE开发(二) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
正确的 ActionBean,用于管理请求。然后 Stripes 利用诸如 @DefaultHandler 或 @HandlesEvent("myEvent") 之类的注释,来确定在 ActionBean 上 调用一次哪个事件。如果没有事件传递给 ActionBean 进行处理,则会调用 @DefaultHandler() 方法,如 清单 4 所示。

清单 4. @DefaultHandler() 方法被调用

<![CDATA[ @UrlBinding("/glossary/action") public class GlossaryActionBean implements ActionBean { ... ]]>

子类化 ActionBeanContext

Stripes 文档建议子类化 ActionBeanContext,以便为应用程序提供上下文状态的方 面(facade)。

ActionBean 类必须提供一个 ActionBeanContext。ActionBeanContext 提供对 Servlet API 的访问,并且包含关于当前请求的信息。具有对 Servlet API 的访问使得 您可以调用诸如 getRequest() 和 setRequest(HttpServletRequest request) 之类的方 法,如 清单 5 所示。

清单 5. Servlet API 允许您调用方法

<![CDATA[ public ActionBeanContext getContext() {   return context; } public void setContext(ActionBeanContext actionBeanContext) {   this.context = actionBeanContext; } ]]>

事件映射到处理程序方法。Stripes 首先确定 ActionBean,然后确定处理程序。可以 将 HTML 标记(比如 <image> 和 <button>)的名称属性与事件处理程序相 关联。在 GlossaryActionBean 中,save() 方法类似于 清单 6。

清单 6. GlossaryActionBean 中的 save() 方法

<![CDATA[ @HandlesEvent("save") public Resolution save() {   ...   return new RedirectResolution ("/glossary/action/Glossary.action").flash(this); } ]]>

当您编辑一个术语表术语时,单击 Save 按钮提交表单和调用 save() 方法。该按钮 类似于:

<![CDATA[<stripes:submit name="save" class="btn" value="Save" />]]>

注意 Save 按钮的 name 值与 GossaryActionBean 类中的 <![CDATA [@HandlesEvent("save")]]> 注释相关。

Stripes 为处理服务器端转发或客户端重定向分别提供了 ForwardResolution 和 RedirectResolution 类。ForwardResolution 类允许只转发到相同 Web 应用程序中的另 一个路径。可以用以下三种方式之一构造 ForwardResolution 类:

<![CDATA[ForwardResolution(Class<? extends ActionBean> beanType)]]> 提供一个 ActionBean 来转发到所需的 URL。

<![CDATA[ForwardResolution(Class<? extends ActionBean> beanType, String event)]]> 提供一个 ActionBean 来转发到所需的 URL 并调用一个事件。

<![CDATA[ForwardResolution(String path)]]> 提供一个简单的 URL 路径用 于转发到。

RedirectResolution 可以在 Web 上下文之中或者之外进行转发,您可以用以下四种 方式之一构造它:

<![CDATA[RedirectResolution(Class<? extends ActionBean> beanType)]]> 提供一个 ActionBean 来转发到所需的 URL。

<![CDATA[RedirectResolution(Class<? extends ActionBean> beanType, String event)]]> 提供一个 ActionBean 来转发到所需的 URL 并调用一个事件。

<![CDATA[RedirectResolution(String url)]]> 提供一个简单的 URL 路径用 于转发到。

<![CDATA[RedirectResolution(String url, boolean prependContext)]]> 提 供一个简单的 URL 路径用于转发到。它也提供一个 Boolean 值来指定上下文是否应该被 添加到请求。如果是对外部 URL 进行调用的话,该值应该设置为 false。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号