欢迎光临
我们一直在努力

用WebWork、JSP、Velocity建立注册页面-JSP教程,Jsp/Servlet

建站超值云服务器,限时71元/月

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;

<actions>

<action name="loginaction" alias="loginjsp">

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

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

</action>

<action name="loginaction" alias="loginvelocity">

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

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

</action>

</actions>

--------

  视图

  

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

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

<%@ taglib uri="webwork" prefix="webwork" %>

<html>

<head>

<title>webwork jsp example</title>

</head>

<body>

<form action="loginjsp.action" method="post">

<webwork:property>

<webwork:textfield label="name" name="username"/>

<webwork:password label="password" name="password"/>

</webwork:property>

<input type="submit" value="submit"/>

</form>

<webwork:iterator value="errors"gt;

<br><webwork:property/>

</webwork:iterator>

</body>

</html>

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

<html>

<head>

<title>webwork velocity example</title>

</head>

<body>

<form action="loginvelocity.action" method="post">

<input type="text" name="username" value="$!username"/>

<input type="text" name="password" value="$!password"/>

<input type="submit" value="submit"/>

</form>

#foreach ($error in $errors)

<br>$error

#end

</body>

</html>

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

  开始工作!

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

----

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用WebWork、JSP、Velocity建立注册页面-JSP教程,Jsp/Servlet
分享到: 更多 (0)

相关推荐

  • 暂无文章