您的位置:首页 > 其它

Stripes视图框架简介

2013-11-05 14:53 113 查看
Stripes第一次接触就觉得它很神奇,不禁让喜欢编码的程序员产生好奇心。是什么让他做到了灵活自如的进行页面跳转呢?

Stripes是一个视图框架用于利用最新的Java技术来构建Web应用程序.它具有以下特点:

不需要对每一action进行映射配置(ActionBeans将自动被发现,它利用注释进行配置)、支持:action转发、servlet请求、Rest风格请求.
强大的绑定引擎用于构建复杂并脱离请求参数(request parameter)的web对象.
易于使用并可本地化的验证与类型转换系统.可重复使用ActionBean作为视图帮助类.
支持一个form对应多个事件.透明的文件上传能力.支持持续开发(比如在构思你的ActionBean之前可以先构建与测试JSP)等.

1、Strpes视图控制转发

Strpes主要的作用就是实现页面与后台数据的一个衔接。我们用它来控制页面的跳转、重定向——控制视图数据流向,方便用户数据展示。



这幅图片还不足以说明问题,确切的说应该是下面这幅图表达的意思:



在这里Stripes的作用相当于一组Servlet的处理集合,或者说是Controller层。

2、ActionBeans过滤(将*ActionBean类映射到上下文)

ActionBeans过滤主要是将实现了Stripes的ActionBean接口的实现类加载到应用程序上下文中,下面是Action包的web.xml注册过滤配置:

<filter>
		<display-name>Stripes Filter</display-name>
		<filter-name>StripesFilter</filter-name>
		<filter-class>net.sourceforge.stripes.controller.StripesFilter</filter-class>
		<init-param>
			<param-name>ActionResolver.Packages</param-name>
			<param-value>com.boonya.stripes.actions</param-value>
		</init-param>
		<init-param>
			<param-name>Interceptor.Classes</param-name>
			<param-value>
		        net.sourceforge.stripes.integration.spring.SpringInterceptor
		    </param-value>
		</init-param>
	</filter>
	<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>

注:在<filter> <ini-param> 下的参数ActionResolver.Packages 设置的值( param-value),将其配置为你的action类所在的位置,如:com.boonya.stripes.actions。

3、Stripes支持动态路径映射

Stripes提供了一个名为:net.sourceforge.stripes.controller.DynamicMappingFilter

的动态过滤器类来实现URL的动态配置,此配置既适用于Servlet又实用与Rest风格的请求,Rest动态风格有支持变参如:"/home/{username}/{password}"。参考:http://stripes.sourceforge.net/docs/current/javadoc/net/sourceforge/stripes/controller/DynamicMappingFilter.html ,其在web.xml下的配置如下:

<!-- 动态配置隐射过滤器 -->
  <filter>
      <description>Dynamically maps URLs to ActionBeans.</description>
      <display-name>Stripes Dynamic Mapping Filter</display-name>
      <filter-name>DynamicMappingFilter</filter-name>
      <filter-class>
          net.sourceforge.stripes.controller.DynamicMappingFilter
      </filter-class>
      <init-param>
          <param-name>ActionResolver.Packages</param-name>
          <param-value>com.boonya.stripes.actions</param-value>
      </init-param>
  </filter>
  
  <filter-mapping>
      <filter-name>DynamicMappingFilter</filter-name>
      <url-pattern>/*</url-pattern>
      <dispatcher>REQUEST</dispatcher>
      <dispatcher>FORWARD</dispatcher>
      <dispatcher>INCLUDE</dispatcher>
  </filter-mapping>

注:在<filter> <ini-param> 下的参数ActionResolver.Packages 设置的值( param-value),将其配置为你的action类所在的位置,如:com.boonya.stripes.actions。

4、Stripes提供JSP使用的标签库,支持网页布局

在JSP页面中导入标签库:

<%@ taglib prefix="stripes"
	uri="http://stripes.sourceforge.net/stripes.tld"%>


其支持常用的标签有:radio 、form、input 等等,这个导入库页面引用时有相应的自动提示功能。

5、支持常用框架无缝集成

如Hibernate、Spring、ibatis等常用的框架都可以很好的兼容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: