技術研究項目
- 熟悉 Struts 架構
- 解析器:JAXP (DOM/SAX)
- Taglib 自訂標籤開發
- 動態表單生成與驗證
- JavaBean 熟練應用
- Logic 標籤庫使用
- 動態表單結構、JavaScript 驗證、struts-config.xml 分佈
- 分頁技術
- SQL 查詢與關聯運用
- HTML 標籤庫:
<html:html>, <html:base>, <html:link>, <html:img>
- Hidden 欄位用法
- Cookie 使用
技術總結:Struts 開發標準流程
- Digest (資料處理)
- ActionForm (表單資料封裝)
- ActionServlet (控制器)
- Action (業務邏輯入口)
- JavaBean (資料傳輸/業務物件)
- Taglib (視圖標籤)
- JSP (顯示層)
資料驗證技巧
利用 java.text 套件 (DateFormat, NumberFormat, ChoiceFormat) 的 parseObject():若拋出例外即為格式錯誤。
實務問題與思考
- ActionMapping:是否僅將 struts-config.xml 部署選項映射為類別屬性?
- ActionForm scope 差異:
session scope 時,reset() 會在每次請求前呼叫,導致 session 與 request scope 行為趨同?
→ 差異在於 JSP 頁面存取:<html:form> 標籤會自動從對應 scope 取得 FormBean,request scope 的 FormBean 在 forward 後銷毀,再次造訪頁面無值;session scope 則保留。
- JSP <html:form action="xxx.do"> 與 struts-config.xml 定義必須一致。
- Hidden Field vs Cookie:功能相似 (攜帶狀態),但 Hidden Field 隨表單提交,Cookie 自動由瀏覽器攜帶。Hidden Field 可完全取代 Cookie 嗎?視安全性與生命週期而定。