另外还有一个Integer类型的变量age,是Person对象的一个属性。Stripes首先试图对request中命为person.age的parameter转换为Integer类型,并将其捆绑到Person对象上。在Person对象的age变量被付值以后,Stripes将验证该Integer值是否小于13。如果用户输入了一个字符串而非整数,用户得到这个消息:
The value (Mark) entered in field Person Age must be a valid number.
若是用户输入了一个小于13的整数,用户将看到这个消息:
The minimum allowed value for Age is 13.
同样地,我们没有必要为这些错误消息提供任何外部的配置文件。Annotation提供的验证与你的变量在同一个位置上,使得程序员定位验证、理解验证的内容、和对验证进行维护变动更容易。
这个Stripes动作还有两个可被激活的方法(称为事件)。事件是ActionBean类中有如下特征的方法:
public Resolution eventName
请注意index方法被标注为@DefaultHandler annotation。因为在本动作中有多个事件,其中一个必须被指定为默认事件。如果调用本动作的URL没有指定哪个事件,Stripes则查找标注有@DefaultHandler annotation的事件,并执行。
显示层(View)
现在让我们给Hello World例程加上显示层的逻辑。Stripes默认支持JSP为显示层的标准技术,不过你也可以用其他的显示层技术,比如FreeMaker。除了Stripes的tag库以外,没有什么新的东西要学。Hello.jsp是初始的显示,可以让用户输入和提交姓名。
<%@ taglib prefix="stripes"
uri="http://stripes.sourceforge.net/stripes.tld" %>
......
<stripes:errors/>
<stripes:form
beanclass="com.
myco.
web.
stripes.
action.
example.
HelloWorldAction">
Say hello to: <br>
First name: <stripes:text name="person.firstName"/>
<br>
Age:<stripes:text name="person.age"/><br>
<stripes:submit name="hello" value="Say Hello"/>
</stripes:form>
......
这个JSP易读易维护。而Stripes用于form和input的tag跟对应的HTML代码非常相似。stripes:form tag包含一个beanclass属性,其值为我们前面定义的controller类的完整类名。我们可以用stripes:form中的action属性来替换beanclass属性,但是beanclass属性可以让你在以后对Stripes动作进行重构的时候更加方便。如果你要用在stripes:form tag中使用action属性,方法如下:
<stripes:form action="/example/HelloWorld.action">
有一个stripes:input tag指定了一个名为person.firstName属性,其作用是将其储存的输入值付给controller的Person对象的firstName变量中。最后,stripes:submit tag指定一个name属性来告诉Stripes的HelloWorldAction类使用哪一个事件。
我们现在已经完成了提交姓名的值给HelloWorldAction,剩下的就是在另一个view中将其反馈给用户了。
<%@ taglib prefix="stripes"
uri="http://stripes.sourceforge.net/stripes.tld" %>
......
<stripes:errors/>
<h2>Hello ${actionBean.person.firstName} your age is
${actionBean.person.age} </h2>
<p/>
<stripes:link beanclass="com.myco.web.stripes.action.
example.HelloWorldAction">
Say Hello Again
</stripes:link>
......
本JSP将自己通过一个对动作的引用读取person的姓名信息并显示。为达到这一目的,Stripes自动在request的属性中添加一个名为actionBean动作对象,以供JSTL存取。最后,我们用了一个strips:link tag来建立一个返回HelloWorldAction地链接从而可以让我们输入不同的姓名。我们以可以通过如下办法显式地创建一个指向index事件的stripes:link:
<stripes:link
beanclass="com.myco.web.stripes.action.
example.HelloWorldAction"
event="index">Say Hello Again</stripes:link>
因为我们已经用annotation把index方法标记为@DefaultHandler,Stripes无须event属性也知道要执行哪一个方法。
分享到:
相关推荐
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提倡“约定优于配置”的开发...
#### 二、Java Web层框架概述 在当前的技术环境中,Java Web层框架对于构建高效稳定的Web应用至关重要。这些框架通过提供一套标准化的方法来简化开发过程,帮助开发者快速构建和维护Web应用程序。在Matt Raible的...
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 MVC Framework:概述与核心特性 ...通过学习官方文档和相关书籍,如《Stripes and Java Web Development Is Fun Again》,开发者可以获得全面的知识体系,从而更好地应对实际开发中的挑战。
Stripes是一个基于Java的Web应用开发框架,它采用MVC(Model-View-Controller)架构模式设计,旨在简化Web应用程序的开发流程。相较于其他Java Web框架如Spring MVC或Struts,Stripes框架更加强调简洁性和易用性。它...
1. **Java Web技术的广泛应用与安全问题**:Java Web技术,如JSP、Servlet和各种Web框架(Spring MVC、Stripes、Struts 2、Tapestry、Wicket等),在开发Web应用程序时广泛使用。由于其在客户端和服务器端的广泛应用...
Java论坛管理系统设计是一个涵盖多个IT领域知识的项目,主要基于Java编程语言,结合数据库管理和Web应用开发技术。这里我们将深入探讨这个系统的核心组成部分及其相关知识点。 1. **Java核心技术** - **Java基础**...
在现代Web开发中,SSH(Struts + Hibernate + Spring)是一种常见的开发框架组合,它提供了强大的功能和灵活性,用于构建高效、可维护的Web应用程序。下面我们将深入探讨SSH的各个组成部分,以及它们如何协同工作来...
Stripes 完全抛弃了这些框架的弊病,使用了最新的 Java 5 带来的技术,遵循 “Convention over Configuration” 理念,只需要在 Java 代码中加入少量的 Annotation,就可以完成配置,大量减少了 代码的维护工作。
Stripes是一个Java Web框架,其目标是使Java中基于Servlet / JSP的Web开发尽可能简单,直观和简单。 条纹始终遵循以下原则: 约定优于配置(CoC) 极轻量级,几乎没有外部依赖项。 为开发人员提供快速,迭代的代码/...
随着互联网技术的发展与成熟,Java Web开发框架在软件工程领域扮演着越来越重要的角色。不同的框架各有特点,适用于不同类型的项目需求。本文档将详细介绍并对比六种主流Java Web框架:JSF、Spring MVC、Stripes、...
Stripes And Java Web Development
Java Web层框架是开发Web应用程序的关键工具,它们简化了服务器端逻辑与用户界面之间的交互。在Java领域,有许多流行的框架可供选择,每种框架都有其独特的优点和缺点。以下是关于JSF、Spring MVC、Stripes、Struts ...
Stripes是一个轻量级的Java MVC框架,它的核心设计理念是“约定大于配置”,这使得开发者可以更快地构建Web应用程序,而无需过多的配置文件。在本文中,我们将深入探讨Stripes框架的基础知识,以及它如何简化开发...
Stripes是一个专为简化Java Web开发而设计的开源框架,其版本1.4.3是该框架的一个稳定发行版。这个框架强调了提高程序员的工作效率和代码的可维护性,通过提供直观的API和强大的特性集,使得构建动态、交互式的Web...