注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > WEB开发 > JSP 内容正文:用WebWork、JSP、Velocity建立注册页面

用WebWork、JSP、Velocity建立注册页面

发布时间:2006-03-08 23:23:40 来源:友佳学院 网友评论 0 条

WebWork是一个源代码开放的Web应用框架,用于简化基于Web的应用开发。本专栏介绍了WebWork并且描述了如何使用WebWork和JavaServerPages(JSP)、Velocity两种技术来建立注册界面的过程。

Web应用程序的设计开发是复杂并且费时的。然而,你能够通过运用一种框架处理常见的Web应用程序来简化开发流程。许多开源Web应用框架能够做到这一点甚至更好一些。这些开发框架中最好的一个就是WebWork,是开源项目中OpenSymphony组的一个Web应用开发框架。

WebWork的最大优点是它的简单性和灵活性。WebWork有一个很小的API,它使开发者可以迅速进行开发工作。WebWork是许多特性和适用性的组合,包括使用variourview技术,例如JavaServerPages(JSP),Velocity,ExtensibleStylesheetLanguageTransformations

Specification(XSLT)和JasperReporters。WebWork拥有一个活跃的社区,有许多文章、开发者和用户。

注意:本文基于WebWork1.3.0releasecandidate2(RC2)。为了使用本文提供的例子,你需要在你的应用服务器的webapps目录下建立文件夹,将例子拷贝至新的文件夹下,同时将所需的jar文件从WebWorkdistribution拷贝至WEB-INF/lib目录。在此处下载WebWork和本文相关的源代码。

------

Actions

WebWork的一个最重要的特色就是Action接口。WebWorkactions通过在页面(视图)和商业逻辑间提供mapping来控制Web应用程序流程。在WebWork中,提交窗体到一个actionURI(UniformResourceIdentifier);这个URI指向一个相应的action;action执行;用户可以前进到相应的视图。

下述class,LoginAction,是WebWork处理基于Web应用的注册窗体的例子。LoginAction扩展了ActionSupport。它是一个基类,提供了处理错误、视图映射、和许多有用的功能。

LoginAction包括了两个JavaBean属性,password和username。WebWork把数据从属性中放置到你的视图中并且自动解析送到action的参数来设置属性值。

LoginAction重载了ActionSupport的两个方法:doValidation()和doExecute()。doValidation()方法验证参数,doExecute()方法让用户前进到相应的视图。doExecute()方法返回一个字符串,如果所有的处理是成功的,返回常量success。如果有任何问题发生,在用户输入视图上返回常量input。在LoginAction的doValidation()方法中调用addError指出了一个认证问题并且让用户返回INPUT视图。

---------

Viewmapping

WebWork有两种方法从map到视图:通过一个Action.xml文件或者一个views.properties文件。每一种动作应该具有一个INPUT视图和一个SUCCESS视图。下述Action.xml文件定义了两个actions,loginJSP和loginVelocity。这两个action都使用了LoginAction类。如果LoginAction返回SUCCESS,这两个action使用LoginAction类并且使用户转向success.html。如果LoginAction返回INPUT,action转向相应的INPUT视图,或者login.jsp、或者login.vm;

<actions>

<actionname="LoginAction"alias="loginJSP">

<viewname="input">login.jsp</view>

<viewname="success">success.html</view>

</action>

<actionname="LoginAction"alias="loginVelocity">

<viewname="input">login.vm</view>

<viewname="success">success.html</view>

</action>

</actions>

--------

视图

尽管WebWork对于许多不同的视图技术提供了支持,但是最为常见的是JSP和Velociy。以下页面是两个注册页面的例子--一个使用了JSP另一个使用了Velocity。每个页面都包括了一个用户部分和一个密码部分,这两部分提交给WebWorkaction。

Login.jsp页面通过使用WebWork标记库来建立和处理以上两个部分,并且通过错误收集器来处理错误。webwork:textfield和webwork:password标记建立了text和password部分,webwork:iterator标记处理从LoginAction返回的错误。webwork:property标记设置username,password和errors属性。

<%@tagliburi="webwork"prefix="webwork"%>

<html>

<head>

<title>WebWorkJSPExample</title>

</head>

<body>

<formaction="loginJSP.action"method="post">

<webwork:property>

<webwork:textfieldlabel="'Name'"name="'userName'"/>

<webwork:passwordlabel="'Password'"name="'password'"/>

</webwork:property>

<inputtype="submit"value="Submit"/>

</form>

<webwork:iteratorvalue="errors"gt;

<br><webwork:property/>

</webwork:iterator>

</body>

</html>

login.vm页面使用了Velocity模板语言来建立域并且处理错误。在Velocity中,$符号表明了一个参考。!符号告诉Velocity如果参考为空,那么什么都不显示。#符号表示了一个指令。在下述例子中,$!userName和$!password表明参考引用了LoginAction中的username和password;#foreach在错误处理属性中指示了循环。

<html>

<head>

<title>WebWorkVelocityExample</title>

</head>

<body>

<formaction="loginVelocity.action"method="post">

<inputtype="text"name="userName"value="$!userName"/>

<inputtype="text"name="password"value="$!password"/>

<inputtype="submit"value="Submit"/>

</form>

#foreach($errorin$errors)

<br>$error

#end

</body>

</html>

---------------

开始工作!

WebWork是一个易用的、灵活的、功能强大的开源Web应用框架,本文介绍了它的基本功能。访问OpenSympony的网站去学习并且下载最新版本的WebWork。你下载完WebWork后,到Jakarta的网站的上部去寻找Velocity,一种简单、快速的开源引擎,它是你在网页中使用JSP的另一个选择。

-----------------

作者介绍

ErikSwenson是OpenSourceSoftwareSolutions的顾问和建立者。他主要研究使用开源软件和组件来进行java开发。此外,他参与开发了开源项目JasperEdit和OpenReports。

------------------

资源

下载本文相关的源代码

http://www.javaworld.com/javaworld/jw-03-2003/opensource/jw-0307-opensourceprofile.zip

从OpenSymphony网站下载WebWork:

http://www.opensymphony.com/webwork/

Velocity是ApacheJakarta项目的一部分,从以下地址下载:

http://jakarta.apache.org/velocity/index.html

“使用Velocity模板引擎”GeirMagnussonJr.(JavaWorld,2001年12月):

http://www.javaworld.com/javaworld/jw-12-2001/jw-1228-velocity.html

其他开源Web应用框架包括:

Maverick:

http://mav.sourceforge.net/

Struts:

http://jakarta.apache.org/struts/index.html

JasperReportshomepage:

http://jasperreports.sourceforge.net/

Matrix经javaworld授权翻译.加入matrix,与java共舞:www.matrix.org.cn

(关键字:WebWork JSP Velocity)

相关文章
  • JSP Actions的使用
  • JSP之Taglib Directiv
  • JSP概述
  • JSP预定义变量的使用
  • 如何成为一个成功的Jsp程序员
【评论】【收藏本文】【打印】【关闭】
上一篇文章:如何使用 velocity 模板引擎开发网站
下一篇文章:Hello Velocity
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
推荐阅讯
  • JSP学习笔记(一)-----概述
  • JSP与XML的结合
  • JSP入门初级教程之Taglib Directiv
  • 编写线程安全的JSP应用程序
  • JAVA/JSP学习系列之二(Tomcat安装)
  • JSP学习笔记(七)-----猜数字游戏
  • 一些奇特的 JavaScript 功能
  • 在JSP中访问数据库大全
  • Taglib 原理和实现之嵌套和属性读取
  • JSP和Struts解决用户退出问题
阅读排行
  • 1.jsp入门学习教程
  • 2.Velocity 的应用示例
  • 3.配置Eclpise+tomcat并实现JSP的编写与部署
  • 4.WebWork Velocity中文问题解决
  • 5.JSP入门初级教程之Session的使用
  • 6.JSP连接mysql数据库攻略
  • 7.JSP连接SQL Server 2000系统配置
  • 8.Velocity 为 Java Web 应用开发“增速”
  • 9.Eclipse 3.0 上配置JSP开发环境
  • 10.JSP学习笔记
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载