Struts 框架帶有幾個自定義標簽庫(有關 Struts 的更多信息的鏈接請參閱 參考資料 )。這些庫中的一個標簽可以創建一個支持改寫 URL 的鏈接并用 jsessionid
對改寫的連接編碼。
不過有一個問題:如果希望傳遞一組請求參數(如查詢字符串),也許必須為此創建一個 Java scriptlet。真是亂!下面的清單 (search_results.jap) 展示了一個 JSP 頁,它被迫加入了這樣一個 scriptlet。
<%@ taglib uri="struts-html" prefix="html" %> <jsp:useBean class="java.util.HashMap" id="deleteParams" /> <% deleteParams.put("id", cd.getId()); deleteParams.put("method","delete"); %> <!-- Pass the map named deleteParams to html:link to generate the request parameters--> <html:link action="/deleteCD" name="deleteParams">delete </html:link> </font></td>
search_results.jsp 創建一個 hashmap 并向這個 map 傳遞兩個屬性。在下面幾小節,我們將創建一個不用 Java 代碼完成這項工作的自定義標簽。我們的標簽將定義如下的一個 hashmap:
<map:mapDefine id="deleteParams"> <map:mapEntry id="id" name="cd" property="id"/> <map:mapEntry id="method" value="delete"/> </map:mapDefine> <!-- Pass the map named deleteParams to html:link to generate the request parameters--> <html:link action="/deleteCD" name="deleteParams">delete </html:link> </font></td>
這將使我們可以容易地創建小型 map。
這個例子將展示幾個關鍵概念,包括使用嵌套標簽和定義 scriplet 變量。首先我將解釋這個標簽是如何工作的。然后在以后的幾節中建立這些概念,并介紹如何編寫這個標簽的不同形式,使它們處理其正文并控制執行流程。
posted on 2007-08-14 10:07
jadmin 閱讀(69)
評論(0) 編輯 收藏