Stripes是一个以让程序员的web开发简单而高效为准则来设计的基于动作的开源Java web框架。本文将介绍Stripes与其它如Struts之类基于动作的框架的区别和其提供的一些存在于Ruby on Rails之中的简单性。
Stripes是一个以让程序员的web开发简单而高效为准则来设计的基于动作的开源Java web框架。传统的Java web开发着眼于借去耦(Decoupling)来实现其灵活性,但导致多个的配置文件,额外的对象,和其他资源的分散。这些困难造成相当多的程序员的更高的学习时间和低下的效率。其结果是有些Java程序员被一些非Java的框架所吸引去了:Ruby on Rails或者Django。一些Java web框架,如Stripes,正在开始从这些非Java框架中汲取其成功经验:简单而高效的开发。本文将介绍Stripes与其它如Struts之类基于动作的框架的区别和其提供的一些存在于Ruby
on Rails之中的简单性。
图1是典型的用Stripes写的应用程序中的正常事件流程和组件。
图 1 典型Stripes流程
如你所见,其流程基本上就是一个MVC框架。Stripes和其他的基于动作的框架的一个主要的区别是没有一个外部的配置文件。我们随后将看到,Stripes用annotation和约定而非配置来提高产出和减少杂乱。
编写你的第一个Stripe动作(Action)
让我们现在就开始通过创建Hello World例程来了解Stripes框架和理解其运作。HelloWorldAction类将提示用户输入姓氏和名字然后在另一个View里面显示,首先我们来编写controller类。
public class HelloWorldAction implements ActionBean {
@ValidateNestedProperties({
@Validate(field = "firstName", required = true,
on = {"hello"}),
@Validate(field = "age", required = true, minvalue = 13,
on = {"hello"})
})
private Person person;
private ActionBeanContext context;
@DefaultHandler
public Resolution index() {
return new ForwardResolution("Hello.jsp");
}
public Resolution hello() {
return new ForwardResolution("SayHello.jsp");
}
public void setPerson(String person) {this.person = person;}
public String getPerson() { return person;}
public void setContext(ActionBeanContext c) {this.context = c; }
public ActionBeanContext getContext() {return context; }
}
Controller类是一个实现了Stripes特有接口ActionBean的POJO(Plain Old Java Object,译注:读破粥)。所有的Stripes动作类都要实现这一接口以让StripesDispatcher servlet在运行服务时为其注入一个ActionBeanContext对象。ActionBeanContext对象可以让你存取的对象如request、response、和servlet context等servlet API。大多数时候在Stripes应用中是不用读取这些底层API对象的。ActionBeanContext类还提供当前动作的状态并可以添加信息消息和错误消息到当前动作中。ActionBeanContext的变量和其读写方法可以放在一个基类里面,因为所有的Stripes动作都要实现之。
Controller类的其他部分对于任何Java程序员来说都是很面熟的。有一个Person对象和其读写方法是用来读写用户的姓名给view的。虽然这仅仅是一个简单的嵌套对象,Stripes可以通过Java集合、泛型支持、和下标化的属性来实现更复杂完善的数据捆绑。因为Stripes可以处理复杂数据捆绑,你的领域对象(Domain Object)可以在其他需要它们的层重用。例如:通过Stripes你可以很容易的收集一个领域对象的信息,然后用其他的POJO框架,如Hibernate或者EJB3来对其进行持久化。
Person对象变量上有一个Stripes验证annotation用来保证用户在激活hello方法的时候已经输入了姓名。如果用户没有输入这两个必需的变量,原始页会被返回,并显示一个相关的错误消息。该验证只有在hello事件被申请的时候才会被激活,因为annotation的属性中指定了(on = {"hello"})。Stripes还会使用实用默认法则,根据验证方法和变量名称产生一个错误信息。例如,如果Person类的firstName变量在提交的时候没有提供,用户将看到:
Person First Name is a required field.
这条消息是通过将Person.firstName进行刻读化处理后得到的。如果有必要,这些错误消息可以被重载来提供更多的客户自定义功能。
分享到:
相关推荐
Stripes 是一款用于快速开发Web程序的展示层框架,它的设计旨在简化Java Web应用开发流程。在介绍Stripes之前,我们需要了解它与传统框架(如 Struts 1、WebWork 和 Struts 2)的不同之处。传统框架通常要求开发者...
Stripes 是一款专为简化 Java Web 开发流程而设计的开源框架,它以提高开发效率为目标,力求使开发者能够轻松快速地构建 Web 应用程序。与传统 Java Web 框架相比,Stripes 采用了更为简洁的方法论,借鉴了 Ruby on ...
这个“Stripes视图框架demo”是用于演示如何使用Stripes来开发Web应用的一个实例,可以帮助初学者快速理解和掌握Stripes的基本用法。 Stripes的核心特性包括: 1. **事件驱动模型**:Stripes采用基于HTTP请求的...
Stripes是一个Java Web应用框架,它是为了简化Java Web开发而设计的,提供了快速构建Web应用程序的能力。与传统的框架如Struts1和Struts2相比,Stripes有自己独特的优势。首先,Stripes提倡“约定优于配置”的开发...
在Matt Raible的分享中,他对比分析了几种流行的Java Web层框架,包括JSF、Spring MVC、Stripes、Struts2、Tapestry和Wicket。 #### 三、各框架优缺点分析 1. **JSF (JavaServer Faces)** - **优点**: - Java ...
Java Web层框架是构建Web应用程序的关键组成部分,它们简化了服务器端的开发,提供了更好的结构和可维护性。本文将深入对比六种流行的Java Web层框架:JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket。 **...
Stripes是一个轻量级的Java Web应用框架,其设计目标是简化Java web应用的开发过程,并提高开发效率。与Struts 1和Struts 2等早期流行的框架不同,Stripes采用了更为现代的开发模式和技术,减少了对XML配置的依赖,...
Stripes是一款新兴的Java Web MVC(Model-View-Controller)框架,它以其简洁、高效和易用的特点受到开发者的青睐。该框架的目标是简化Java Web应用程序的开发过程,并使其更加有趣和高效。Stripes的设计理念之一...
Stripes是一个Java Web框架,其目标是使Java中基于Servlet / JSP的Web开发尽可能简单,直观和简单。 条纹始终遵循以下原则: 约定优于配置(CoC) 极轻量级,几乎没有外部依赖项。 为开发人员提供快速,迭代的代码/...
Stripes是一个基于Java的Web应用开发框架,它采用MVC(Model-View-Controller)架构模式设计,旨在简化Web应用程序的开发流程。相较于其他Java Web框架如Spring MVC或Struts,Stripes框架更加强调简洁性和易用性。它...
Stripes是一个轻量级的Java MVC框架,它的核心设计理念是“约定大于配置”,这使得开发者可以更快地构建Web应用程序,而无需过多的配置文件。在本文中,我们将深入探讨Stripes框架的基础知识,以及它如何简化开发...
和我们熟悉 Struts 1 和 Struts 2 类似,Stripes 同样是一种展示层框架,用于快速构建web程序。在使 用Struts 1,WebWork 和 Struts 2 等框架的时候,通常需要大量额外的 XML 配置,当一个项目达到 一定规模的的时候...
在现代Web开发中,SSH(Struts + Hibernate + Spring)是一种常见的开发框架组合,它提供了强大的功能和灵活性,用于构建高效、可维护的Web应用程序。下面我们将深入探讨SSH的各个组成部分,以及它们如何协同工作来...
1. **Java Web技术的广泛应用与安全问题**:Java Web技术,如JSP、Servlet和各种Web框架(Spring MVC、Stripes、Struts 2、Tapestry、Wicket等),在开发Web应用程序时广泛使用。由于其在客户端和服务器端的广泛应用...
Java论坛管理系统设计是一个涵盖多个IT领域知识的项目,主要基于Java编程语言,结合数据库管理和Web应用开发技术。这里我们将深入探讨这个系统的核心组成部分及其相关知识点。 1. **Java核心技术** - **Java基础**...
随着互联网技术的发展与成熟,Java Web开发框架在软件工程领域扮演着越来越重要的角色。不同的框架各有特点,适用于不同类型的项目需求。本文档将详细介绍并对比六种主流Java Web框架:JSF、Spring MVC、Stripes、...
`Spring in action`会详述如何使用Spring IoC容器管理bean,以及如何利用Spring MVC开发Web应用,同时还会涉及Spring的安全、数据访问和集成其他技术如Hibernate的策略。 4. **Struts**:Struts是基于MVC设计模式的...
Stripes是一个专为简化Java Web开发而设计的开源框架,其版本1.4.3是该框架的一个稳定发行版。这个框架强调了提高程序员的工作效率和代码的可维护性,通过提供直观的API和强大的特性集,使得构建动态、交互式的Web...
Java Web层框架是开发Web应用程序的关键工具,它们简化了服务器端逻辑与用户界面之间的交互。在Java领域,有许多流行的框架可供选择,每种框架都有其独特的优点和缺点。以下是关于JSF、Spring MVC、Stripes、Struts ...