成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用WebWork注冊頁面建立過程

開發(fā) 后端
WebWork是一個源代碼開放的Web應(yīng)用框架,用于簡化基于Web的應(yīng)用開發(fā)。本專欄介紹了WebWork注冊頁面的建立方法和過程,描述了如何使用WebWork和JavaServer Pages(jsp)、Velocity兩種技術(shù)來建立注冊界面的過程。

Web 應(yīng)用程序的設(shè)計開發(fā)是復(fù)雜并且費時的。然而,你能夠通過運用一種框架處理常見的Web應(yīng)用程序來簡化開發(fā)流程。許多開源Web應(yīng)用框架能夠做到這一點甚至更好一些。這些開發(fā)框架中最好的一個就是WebWork,是開源項目中OpenSymphony組的一個Web應(yīng)用開發(fā)框架。

WebWork的最大優(yōu)點是它的簡單性和靈活性。WebWork有一個很小的API,它使開發(fā)者可以迅速進行開發(fā)工作。WebWork是許多特性和適用性的組合,包括使用variour view技術(shù),例如JavaServer Pages(JSP),Velocity,Extensible Stylesheet Language Transformations Specification(XSLT)和JASPerReporters。WebWork擁有一個活躍的社區(qū),有許多文章、開發(fā)者和用戶。

注意:本文基于WebWork1.3.0 release candidate 2(RC2)。為了使用本文提供的例子,你需要在你的應(yīng)用服務(wù)器的webapps目錄下建立文件夾,將例子拷貝至新的文件夾下,同時將所需的jar文件從WebWork distribution拷貝至WEB-INF/lib目錄。在此處下載WebWork和本文相關(guān)的源代碼。

------
actions

WebWork的一個最重要的特色就是Action接口。WebWork actions通過在頁面(視圖)和商業(yè)邏輯間提供mapping來控制Web應(yīng)用程序流程。在WebWork中,提交窗體到一個action URI(Uniform Resource Identifier);這個URI指向一個相應(yīng)的action;action執(zhí)行;用戶可以前進到相應(yīng)的視圖。

下述class,LoginAction,是WebWork處理基于Web應(yīng)用的注冊窗體的例子。LoginAction擴展了ActionSupport。它是一個基類,提供了處理錯誤、視圖映射、和許多有用的功能。

 

  1. import webwork.action.*;  
  2. public class LoginAction extends ActionSupport  
  3. {  
  4. private String userName;  
  5. private String passWord;   
  6. public String getPassword()  
  7. {    
  8. return password;    
  9. }   
  10.  public String getUserName()   
  11. {   
  12. return userName;    
  13. }   
  14. public void setPassword(String password)  
  15. {    
  16. this.password = password;    
  17. }  
  18. public void setUserName(String userName)  
  19. {    
  20. this.userName = userName;   
  21. }   
  22. public String doExecute()   
  23. {    
  24. return SUCCESS;    
  25. }    
  26. public void doValidation()   
  27. {     
  28. if (userName == null  userName.length() < 1)  
  29.  addError("UserName""Please enter username.");    
  30. if (password == null  password.length() < 1)  
  31.  addError("Password""Please enter password.");   
  32. }  

 

 LoginAction包括了兩個JavaBean屬性,password和username。


WebWork把數(shù)據(jù)從屬性中放置到你的視圖中并且自動解析送到action的參數(shù)來設(shè)置屬性值。

LoginAction重載了ActionSupport的兩個方法:doValidation()和doExecute()。doValidation()方法驗證參數(shù),doExecute()方法讓用戶前進到相應(yīng)的視圖。doExecute()方法返回一個字符串,如果所有的處理是成功的,返回常量success。如果有任何問題發(fā)生,在用戶輸入視圖上返回常量input。在LoginAction的doValidation()方法中調(diào)用addError指出了一個認證問題并且讓用戶返回INPUT視圖。

---------

view mapping

WebWork有兩種方法從map到視圖:通過一個Action.XML文件或者一個views.properties文件。每一種動作應(yīng)該具有一個INPUT視圖和一個SUCCESS視圖。下述Action.xml文件定義了兩個actions,loginJSP和loginVelocity。這兩個action都使用了LoginAction類。如果LoginAction返回SUCCESS,這兩個action使用LoginAction類并且使用戶轉(zhuǎn)向success.Html。如果LoginAction返回INPUT,action轉(zhuǎn)向相應(yīng)的INPUT視圖,或者login.jsp、或者login.vm;

  1. <actions>  
  2. <action name="LoginAction" alias="loginJSP">  
  3. <view name="input">login.jsp</view>  
  4. <view name="success">success.html</view>   
  5. </action>  
  6. <action name="LoginAction" alias="loginVelocity">   
  7. <view name="input">login.vm</view>     
  8. <view name="success">success.html</view>   
  9. </action>  
  10. </actions> 

 

視圖

盡管WebWork對于許多不同的視圖技術(shù)提供了支持,但是最為常見的是JSP和Velociy。以下頁面是兩個注冊頁面的例子--一個使用了JSP另一個使用了Velocity。每個頁面都包括了一個用戶部分和一個密碼部分,這兩部分提交給WebWork action。

Login.jsp頁面通過使用WebWork標記庫來建立和處理以上兩個部分,并且通過錯誤收集器來處理錯誤。webwork:textfield 和 webwork:password標記建立了text和password部分,webwork:iterator標記處理從LoginAction返回的錯誤。 webwork:property標記設(shè)置username,password和errors屬性。

  1. <%@ taglib uri="webwork" prefix="webwork" %>  
  2. <html>  
  3. <head>  
  4. <title>WebWork JSP Example</title>  
  5. </head>  
  6. <body>    
  7. <form action="loginJSP.action" method="post">      
  8. <webwork:property>        
  9. <webwork:textfield label="'Name'" name="'userName'"/>        
  10. <webwork:password label="'Password'" name="'password'"/>      
  11. </webwork:property>      
  12. <input type="submit" value="Submit"/>    
  13. </form>    
  14. <webwork:iterator value="errors">      
  15. <br><webwork:property/>    
  16. </webwork:iterator>    
  17. </body>  
  18. </html> 

 

login.vm頁面使用了Velocity模板語言來建立域并且處理錯誤。

在Velocity中,$符號表明了一個參考。!符號告訴Velocity如果參考為空,那么什么都不顯示。#符號表示了一個指令。在下述例子中,$!userName和$!password表明參考引用了LoginAction中的username和password;#foreach在錯誤處理屬性中指示了循環(huán)。

  1. <html>  
  2. <head>   
  3. <title>WebWork Velocity Example</title>  
  4. </head>    
  5. <body>    
  6. <form action="loginVelocity.action" method="post">  
  7. <input type="text" name="userName" value="$!userName"/>      
  8. <input type="text" name="password" value="$!password"/>      
  9. <input type="submit" value="Submit"/>    
  10. </form>    
  11. #foreach ($error in $errors)  
  12. <br>$error    
  13. #end    
  14. </body>  
  15. </html> 

 

開始工作!

WebWork是一個易用的、靈活的、功能強大的開源Web應(yīng)用框架,本文介紹了它的基本功能。訪問OpenSympony的網(wǎng)站去學(xué)習(xí)并且下載最新版本的WebWork。你下載完WebWork后,到Jakarta的網(wǎng)站的上部去尋找Velocity,一種簡單、快速的開源引擎,它是你在網(wǎng)頁中使用JSP的另一個選擇。
-----------------
作者介紹

Erik Swenson 是Open Source Software Solutions的顧問和建立者。他主要研究使用開源軟件和組件來進行java開發(fā)。此外,他參與開發(fā)了開源項目JasperEdit和OpenReports。
------------------
資源

下載本文相關(guān)的源代碼

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

從OpenSymphony網(wǎng)站下載WebWork:

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

Velocity 是Apache Jakarta項目的一部分,從以下地址下載:

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

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

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

其他開源Web應(yīng)用框架包括:

Maverick:

http://mav.sourceforge.net/

Struts:

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

JasperReports homepage:

http://jasperreports.sourceforge.net/

【編輯推薦】

  1. WebWork注入Servlet方法詳解
  2. WebWork中返回INPUT的原因
  3. WebWork如何實現(xiàn)文件上傳配置過程
  4. 通過WebWork實現(xiàn)HelloWorld
  5. WebWork與Spring+Hibernate的整合
責任編輯:冰荷 來源: gz183
相關(guān)推薦

2012-03-26 09:31:57

InstagramAndroid

2009-07-08 09:29:58

WebWork

2009-07-14 15:52:00

WebWork文件下載

2009-07-14 16:08:41

WebWork學(xué)習(xí)

2009-07-14 17:34:53

Webwork配置

2009-07-16 14:08:14

webwork配置

2009-07-16 16:51:56

WebWork驗證機制

2009-07-16 16:08:30

WebWork Act

2009-07-08 09:55:51

WebWork下載

2009-07-16 16:01:54

WebWork敏捷開發(fā)

2009-07-14 14:04:36

WebWork框架

2009-07-08 10:30:57

WebWork

2009-07-08 10:11:30

WebWork

2009-07-09 15:55:18

WebWork配置文件

2009-07-16 17:42:47

WebWork配置

2009-07-14 17:53:11

WebWork安裝WebWork配置

2010-09-06 13:57:38

2009-07-14 01:00:43

WebWorkActionConte

2009-07-16 14:58:03

WebWork安裝WebWork配置

2009-07-16 16:27:26

Struts WebW
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲视频三区 | 日韩高清中文字幕 | 久久毛片| 99亚洲精品 | 亚洲成av人片在线观看 | 欧美国产日韩精品 | 九九综合 | 毛片区 | 国产精品久久久久久久久久久免费看 | 在线精品一区二区三区 | 亚洲精品乱码久久久久久按摩观 | 一区二区高清不卡 | 久久亚洲一区二区三区四区 | 国内精品久久久久久久 | 国产在线中文字幕 | 国产精品99久久久久久宅男 | 久久99蜜桃综合影院免费观看 | 在线免费观看黄色 | 青青草国产在线观看 | 国产视频二区在线观看 | 亚洲www啪成人一区二区麻豆 | 福利视频三区 | 一级特黄视频 | 国产欧美日韩二区 | 国产精品69毛片高清亚洲 | 色www精品视频在线观看 | 深夜爽视频 | 日韩国产欧美一区 | 99欧美精品| a级大片 | 99国产精品久久久 | 天天操夜夜操 | 国产在线看片 | 成人欧美一区二区三区黑人孕妇 | 欧美日韩亚洲一区 | 亚洲欧美精品一区 | 国产区精品在线观看 | 国产精品免费观看视频 | 一级毛片视频 | 久久91精品国产一区二区三区 | 国产一区二区三区四区 |