在 B/S 應用開發早期,ASP、PHP、JSP 等腳本語言將界面顯示與程式邏輯混編在一起。雖然透過函式封裝與引用檔案嘗試復用,但純腳本編碼難以發揮面向對象(OO)的強大功能,無法滿足日益多變的用戶需求。
典型的 B/S 專案中,介面設計包含 HTML、WAP 等基於文本協議的視圖。美工先用 Photoshop/Fireworks 完成整體設計,再用 Dreamweaver 等工具產出頁面;而強大的後台邏輯由伺服端程式處理,開發工具(JBuilder、Eclipse 等)對 View 層支援有限。這導致許多 MVC 框架難以兼顧開發效率與介面靈活性。
Struts 等框架雖簡化了視圖層,但頁面仍常需嵌入 Java 代碼(如 `<@ import>`),自定義標籤越複雜,反而嚇退了美工與頁面製作人員。
EasyJWeb 作為輕量級 Java Web MVC 框架,設計目標不僅是簡化開發人員編碼,更要方便介面設計人員。它建立在 Velocity 模板引擎之上並進行擴充。
Velocity 允許使用簡單的模板語言引用 Java 代碼定義的對象。功能強大但也增加了複雜性。EasyJWeb 並不建議在介面模板中使用過多複雜腳本,更不建議加入變量聲明、邏輯運算等。實踐證明,以下五種基本模板語句已能滿足絕大多數需求:
$!obj 直接輸出對象結果#if($!obj) #else #end 判斷語句#foreach( $info in $list) $info.someList #end 循環讀取集合#macro(macroName)#end 宏調用(不建議大量使用)#include("檔名") 或 #parse("檔名") 包含檔案配合 CommUtil.toRowChildList、TagUtil.options 等工具類,模板編寫更加簡潔。Velocity 模板不破壞介面結構,美工添加標記後仍能看到純淨視圖,半小時即可上手,靈活應對客戶審美與習慣變化。
EasyJWeb 提倡模板與程式分離,核心哲學是「解放程式設計師」。程式員最討厭亂糟糟的 HTML、CSS 以及圖片處理。EasyJWeb 讓程式員極輕鬆地與視圖層互動:
form.addResult("name", obj)form.addPo(obj)form.toPo(obj)框架自動處理數據轉換、驗證、保護等細節。給他人方便,就是給自己方便——這正是 EasyJWeb 蘊含的生活哲學。