一個使用snap的Web應用 (轉)
一個使用snap的應用
用WebWork, , 和 Velocity建立一個登入頁面:namespace prefix = o ns = "urn:schemas--com::office" />
概述
WebWork是一個開放Web應用。目的在於簡化Web應用開發。這一欄目介紹了WebWork,並且解釋了使用WebWork和兩個不同的檢視技術,ServerPages(JSP)和Velocity,進行的登入網頁的建立過程。
Web應用和開發是複雜和費時的。但是,你能使用一個框架處理普通的Web應用程式開發任務,從而簡化該過程。幾種Web應用程式框架能做這個而且做得更多。最好的一個是WebWork,一個來自於開放原始碼專案的OpenSymphony組的Web應用程式框架。
WebWork最大的優勢是它的簡單和靈活。WebWork有一個小型的。該API允許開發者立即啟動和執行。WebWork提供許多屬性和靈活的綜合,包括:使用不同的檢視技術,如JavaServerPages(JSP)、Velocity、可擴充套件性單語言轉換說明(T)、和JerReports,的功能。
注意:本文是在WebWork 1.3.0釋出的備選本2的基礎之上的。為了執行提供的例子,你需要建立一個夾在你的應用程式的webapps目錄下,將例子複製到新資料夾中,並且從WebWork分佈上覆制需要的jar檔案到WEB-INF/lib目錄下。從/jw-0307-openprofile.html?#resourcesresources">ResourcesWebWork和本文所需的原始碼。
Action
在WebWork中最重要的特徵之一就是Action介面。WebWork Action提供在頁面(或者檢視)和企業邏輯之間的對映,從而控制一個Web應用程式的流程。在WebWork中,表單提交到一個Action URI(同一資源標記符);URI對映到一個相應的Action;該Action;這樣前進到了恰當的檢視。
接下來的類,LoginAction,是一個在基於Web的應用程式中處理登入表單的WebWork Action的例子。LoginAction由擴充套件ActionSupport而來,一個提供錯誤處理、檢視對映和許多其它的有用的功能的基類:
import webwork.action.*;
public class LoginAction extends ActionSupport
{
private String userName;
private String pass;
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,將使用者送回到INPUT檢視,並且在LoginAction中的doValidation()函式addError,表示出現了一個引數問題並將使用者返回到INPUT檢視。
檢視對映
WebWork ACION用兩種方法對映到檢視:透過一個Action.xml檔案或者一個views.properties檔案。每個ACION應該有一個INPUT檢視和一個SUCCESS檢視。接下來的Action.xml檔案定義了兩個actions:loginJSP和loginVelocity。兩個動作都使用LoginAction類,如果LoginAction返回SUCCESS的話,則帶使用者前進到success.html。如果LoginAction返回INPUT,動作帶使用者前進到相應的INPUT檢視,該動作要麼是login.jsp,要麼是login.vm:
檢視
WebWork為許多不同檢視技術提供支援,最通用的使JSP和Velocity。下面的頁是兩個登入頁例子——一個用JSP建立,另一個用Velocity建立。每頁包含一個帶有提交給一個WebWork動作的使用者名稱和密碼欄位的表單。
login.jsp頁使用WebWork標記庫,建立和迭代了兩個欄位,並且透過收集錯誤重複迭代。webwork:textfield和webwork:password標記建立了文字和密碼域,並且webwork:iterator標記重複迭代任何從LoginAction返回的錯誤。webwork:property標記設定了username、password和errors屬性:
login.vm頁使用Velocity臨時語言增加域並且迭代所有錯誤。在Velocity中,$符號表示一個引用;!符號告訴Velocity如果引用為空的話,什麼都不顯示;#符號表示一個指令。在接下來的例子中,$!userName和$!password訪問LoginAction的userName和password屬性;# foreach指令透過errors屬性迴圈:
#foreach ($error in $errors)
$error
#end
馬上行動
WebWork是一個簡單的、靈活的、強大的開放原始碼Web應用程式框架。本文介紹了基本的WebWork功能。訪問OpenSympony站點了解更多的指示,並且下載的WebWork版本。當你下載完了以後,進入到Jakarta站點看一看Velocity,一個簡單的、開放原始碼臨時引擎,它可是你的網頁中JSP的備選項。
關於作者
ack" target=_blank>Erik Swenson是/"> Software Solutions的顧問和創始人。他精通使用開放原始碼和進行Java開發,而且,他開發了JasperEdit和OpenReports開放原始碼專案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-958679/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [譯]使用 Rust 開發一個簡單的 Web 應用,第 1 部分RustWeb
- 如何構建一個WEB同構應用Web
- Snap 使用
- 如何用TypeScript來建立一個簡單的Web應用TypeScriptWeb
- 【轉】Docker部署Tomcat及Web應用DockerTomcatWeb
- WEB例項:開發一個聊天室應用Web
- Azure DevOps (十三) 通過Azure Devops部署一個Go的Web應用devGoWeb
- 使用 Flutter 開發簡單的 Web 應用FlutterWeb
- flatpak 和 snap 是 Linux 上的應用軟體打包方式Linux
- 嘗試使用Knative建立一個應用
- 全棧工程師如何快速構建一個Web應用全棧工程師Web
- MVC應用程式使用Web Services(asmx)MVCWebASM
- 深入淺出Spring Web MVC:從零開始構建你的第一個Web應用SpringWebMVC
- 一個合理的生產環境的 Web 應用程式應該是什麼樣子的Web
- kubernetes使用traefik的https方式訪問web應用HTTPWeb
- 使用Kotlin開發一個追番應用Kotlin
- 使用 Lambda Web Adapter 在 Lambda 上 構建 web 應用WebAPT
- 如何在Web應用中新增一個JavaScript Excel檢視器WebJavaScriptExcel
- Docker入門系列之一:在一個Docker容器裡執行指定的web應用DockerWeb
- 使用 Cloudflare 構建 Web3 應用CloudWeb
- 最簡單的nginx教程 - 如何把一個web應用部署到nginx上NginxWeb
- 一圖搞懂Web應用的單點登入Web
- 使用Golang的Gin框架和vue編寫web應用Golang框架VueWeb
- 使用docker compose一鍵啟動多個應用Docker
- 使用 SAP BTP 建立一個 Spring Boot Java 應用Spring BootJava
- 如何使用Visual Studio Code除錯PHP CLI應用和Web應用除錯PHPWeb
- 使用View modification擴充套件SAP Fiori應用的一個案例View套件
- bauh:在一個介面中管理 Snap、Flatpak 和 AppImageAPP
- Docker容器:將帶UI的程式直接轉為Web應用,so easyDockerUIWeb
- 使用這些 HTTP 頭保護 Web 應用HTTPWeb
- 使用Java和Spring MVC構建Web應用JavaSpringMVCWeb
- 使用Rust和WebAssembly構建Web應用程式RustWeb
- Maven Web 應用MavenWeb
- SpringBoot中的響應式web應用Spring BootWeb
- 每一個 Linux 使用者必須使用的 11 款便攜應用Linux
- 使用Go寫一個簡易的MVC的Web框架GoMVCWeb框架
- RockyLinux使用dnf安裝snapLinux
- BurpSuite在非Web應用測試中的應用UIWeb
- 一個典型的使用 SAP Cloud Application Programming 模型開發的 Fiori 應用CloudAPP模型