文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页精文荟萃软件资讯 → 用WebWork、JSP、Velocity建立注册页面

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

时间:2004/10/7 18:12:00来源:本站整理作者:蓝点我要评论(0)

  WebWork是一个源代码开放的Web应用框架,用于简化基于Web的应用开发。本专栏介绍了WebWork并且描述了如何使用WebWork和JavaServer Pages(JSP)、Velocity两种技术来建立注册界面的过程。
  Web 应用程序的设计开发是复杂并且费时的。然而,你能够通过运用一种框架处理常见的Web应用程序来简化开发流程。许多开源Web应用框架能够做到这一点甚至更好一些。这些开发框架中最好的一个就是WebWork,是开源项目中OpenSymphony组的一个Web应用开发框架。
  WebWork的最大优点是它的简单性和灵活性。WebWork有一个很小的API,它使开发者可以迅速进行开发工作。WebWork是许多特性和适用性的组合,包括使用variour view技术,例如JavaServer Pages(JSP),Velocity,Extensible Stylesheet Language Transformations
  Specification(XSLT)和JasperReporters。WebWork拥有一个活跃的社区,有许多文章、开发者和用户。
  注意:本文基于WebWork1.3.0 release candidate 2(RC2)。为了使用本文提供的例子,你需要在你的应用服务器的webapps目录下建立文件夹,将例子拷贝至新的文件夹下,同时将所需的jar文件从WebWork distribution拷贝至WEB-INF/lib目录。在此处下载WebWork和本文相关的源代码。------
  Actions
  WebWork的一个最重要的特色就是Action接口。WebWork actions通过在页面(视图)和商业逻辑间提供mapping来控制Web应用程序流程。在WebWork中,提交窗体到一个action URI(Uniform Resource Identifier);这个URI指向一个相应的action;action执行;用户可以前进到相应的视图。
  下述class,LoginAction,是WebWork处理基于Web应用的注册窗体的例子。LoginAction扩展了ActionSupport。它是一个基类,提供了处理错误、视图映射、和许多有用的功能。

import webwork.action.*;
public class LoginAction extends ActionSupport
{
  private String userName;
  private String password; 
  public String getPassword()
  {
    return password;
  }
  public String getUserName()
  {
    return userName;
  }
  public void setPassword(String password)
  {
    this.password = password;
  }
  public void setUserName(String userName)
  {
    this.userName = userName;
  }
  public String doExecute()
  {
    return SUCCESS;
  }
  public void doValidation()
  {
    if (userName == null || userName.length() < 1) addError("UserName", "Please enter username.");
    if (password == null || password.length() < 1) addError("Password", "Please enter password.");
  }
}

  LoginAction包括了两个JavaBean属性,password和username。WebWork把数据从属性中放置到你的视图中并且自动解析送到action的参数来设置属性值。
  LoginAction重载了ActionSupport的两个方法:doValidation()和doExecute()。doValidation()方法验证参数,doExecute()方法让用户前进到相应的视图。doExecute()方法返回一个字符串,如果所有的处理是成功的,返回常量success。如果有任何问题发生,在用户输入视图上返回常量input。在LoginAction的doValidation()方法中调用addError指出了一个认证问题并且让用户返回INPUT视图。

---------

  View mapping
  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;

      login.jsp
    success.html
  
    login.vm
    success.html

 

--------
  视图
  尽管WebWork对于许多不同的视图技术提供了支持,但是最为常见的是JSP和Velociy。以下页面是两个注册页面的例子--一个使用了JSP另一个使用了Velocity。每个页面都包括了一个用户部分和一个密码部分,这两部分提交给WebWork action。
  Login.jsp页面通过使用WebWork标记库来建立和处理以上两个部分,并且通过错误收集器来处理错误。webwork:textfield 和 webwork:password标记建立了text和password部分,webwork:iterator标记处理从LoginAction返回的错误。 webwork:property标记设置username,password和errors属性。
  login.vm页面使用了Velocity模板语言来建立域并且处理错误。在Velocity中,$符号表明了一个参考。!符号告诉Velocity如果参考为空,那么什么都不显示。#符号表示了一个指令。在下述例子中,$!userName和$!password表明参考引用了LoginAction中的username和password;#foreach在错误处理属性中指示了循环。

  #foreach ($error in $errors)
$error
  #end


---------------
  开始工作!
  WebWork是一个易用的、灵活的、功能强大的开源Web应用框架,本文介绍了它的基本功能。访问OpenSympony的网站去学习并且下载最新版本的WebWork。你下载完WebWork后,到Jakarta的网站的上部去寻找Velocity,一种简单、快速的开源引擎,它是你在网页中使用JSP的另一个选择。
-----------------
  作者介绍
  Erik Swenson 是Open Source Software Solutions的顾问和建立者。他主要研究使用开源软件和组件来进行java开发。此外,他参与开发了开源项目JasperEdit和OpenReports。
------------------
  资源
  下载本文相关的源代码
  http://www.javaworld.com/javaworld/jw-03-2003/opensource/jw-0307-opensourceprofile.zip
  从OpenSymphony网站下载WebWork: 
  http://www.opensymphony.com/webwork/
  Velocity 是Apache Jakarta项目的一部分,从以下地址下载: 
  http://jakarta.apache.org/velocity/index.html
  &ldquo;使用Velocity模板引擎&rdquo; Geir Magnusson Jr. (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
  JasperReports homepage: 
  http://jasperreports.sourceforge.net/
  Matrix经javaworld授权翻译.加入matrix,与java共舞。

相关视频

    没有数据

相关阅读 魔兽世界7.15防骑天赋加点 WOW7.15防骑天赋推荐魔兽世界7.15奶骑天赋选择指南 WOW7.15奶骑天赋推荐魔兽世界7.15狂暴战输出手法指南 wow7.15狂暴战输出手法攻略魔兽世界7.15惩戒骑天赋推荐 WOW7.15惩戒骑天赋怎么点魔兽世界7.2制造橙装特效一览 wow7.2制造橙装特效介绍魔兽世界7.2新词缀爆裂介绍 WOW7.2词缀爆裂是什么意思Mac Word宏病毒是什么 Mac Word宏病毒有什么危害魔兽世界7.2萨格拉斯之墓攻略 WOW7.2萨格拉斯之墓攻略一览

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信支付漏洞会造成哪360快剪辑怎么使用 36 酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗贝贝特卖怎么样 贝贝特卖好不好

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载安卓android 系统支持什么视频格式