Stripes是一个视图框架用于利用最新的Java技术来构建Web应用程序.它具有以下特点:不需要对每一page/action进行映射配置(ActionBeans将自动被发现,它利用注释进行配置),强大的绑定引擎用于构建复杂并脱离请求参数(request parameter)的web对象,易于使用并可本地化的验证与类型转换系统.可重复使用ActionBean作为视图帮助类.支持一个form对应多个事件.透明的文件上传能力.支持持续开发(比如在构思你的ActionBean之前可以先构建与测试JSP)等.
所有的
Stripes
行为都需要实现这个接口,以便允许
StripesDispatcher servlet
把一个
ActionBeanContext
对象注入到当前提供服务的行为中。该
ActionBeanContext
对象允许你存取
servlet API
对象
—
例如请求,响应和
servlet
上下文。大多数情况下,在一个
Stripes
应用程序中没有必要存取这些低级别的
API
对象。该
ActionBeanContext
类还允许你取得关于当前行为的状态信息,而且还可以从当前行为中添加参考消息和错误消息。注意,
ActionBeanContext
域及其存取器(
accessor
)可以存储在一个基类中,因为所有的
Stripes
行为都会要求这样的实现。
这可以通过在web.xml文件中配置Stripes和该文件使用智能的缺省设置来创建URL映射方面得到解释。首先,我们需要讨论一个称为StripesFilter的Servlet过滤器。下面是在web.xml文件中的StripesFilter过滤器的缺省配置:
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
- version="2.4">
-
- <filter>
- <display-name>Stripes Filter</display-name>
- <filter-name>StripesFilter</filter-name>
- <filter-class>net.sourceforge.stripes.controller.StripesFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>StripesFilter</filter-name>
- <url-pattern>*.jsp</url-pattern>
- <dispatcher>REQUEST</dispatcher>
- </filter-mapping>
-
- <filter-mapping>
- <filter-name>StripesFilter</filter-name>
- <servlet-name>StripesDispatcher</servlet-name>
- <dispatcher>REQUEST</dispatcher>
- </filter-mapping>
-
- <servlet>
- <servlet-name>StripesDispatcher</servlet-name>
- <servlet-class>net.sourceforge.stripes.controller.DispatcherServlet
- </servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>StripesDispatcher</servlet-name>
- <url-pattern>*.action</url-pattern>
- </servlet-mapping>
- </web-app>
|