Junky's IT Notebook

          統計

          留言簿(8)

          積分與排名

          WebSphere Studio

          閱讀排行榜

          評論排行榜

          WebWork2教程(中文版)(4.1)

          4、視圖

          有幾種作為視圖的技術可以使用:

          l         JSP:這是Java Web開發者熟悉的技術,可以作為通用選擇;本教程介紹在JSP中使用WebWork的標記庫

          l         Velocity:一種基于Java的模板引擎,提供簡單而強大的模板語言VTL來替代JSPJava代碼從Web頁面中分離

          l         Freemaker對于MVC模式設計另外一種可以替代JSP的基于Java的模板引擎,但兼容JSP標記

          4.1、使用JSP作為視圖

          使用JSP呈現視圖,可以使用ScriptletsWebWork標記來訪問Action的數據。推薦使用WebWork標記

          1)使用Scriptlets訪問Acition的數據

          Scriptlets中是使用Value Stack對象訪問Action的數據的,下面是使用Scriptlets實現上節中第二個例子的結果輸出頁面:

          <%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
          <html>
          <head>
          <title>WebWork Tutorial - Lesson 4.1 - Lesson 3's example modified</title>
          </head>
          <body>
          <%
          OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
          out.write("Hello, " + stack.findValue("person"));
          %>
          </body>
          </html>

          然而,推薦使用WebWork標記,就象上節中第二個例子使用<ww:property />做的那樣,具有清晰的語法,并能在Value Stack對象不存在時處理。

          2)使用WebWork標記庫

          WebWork標記庫可以分為7類:

          l         通用標記:最常用的基本標記;

          l         組件標記:在視圖中生成組件;

          l         流程控制標記:控制JSP中的流程;

          l         Iteration標記:遍歷訪問元素或操作可遍歷對象;

          l         UI標記:生成HTML表單域和控制;

          l         VUI標記:(需要志愿者來編寫);

          l         國際化標記:使視圖具有國際化;

          1)通用標記

          <ww:property />

          獲得結果屬性值;如果值不存在,返回Value Stack 中最頂上的值

          <ww:push />

          將值推入Value Stack

          <ww:param />

          設置父標記的參數(屬性)值;該標記只能在其它標記內部使用

          <ww:set />

          設置Value Stack 中具有指定范圍(page, stack, application, session)的對象值;如果沒有指定值,使用Value Stack 中最頂上的值

          <ww:url />

          創建編碼的URL

          2)組件標記

          <ww:action />

          taglib的上下文中執行一個Action ,標記體用來顯示Action 的響應結果

          <ww:bean />

          ActionContext 中創建一個JavaBean,實例化它的屬性,以便以后使用

          <ww:include />

          包含另外一個頁面或Action

          3)流程控制標記

          <ww:if />

          如果條件標記的布爾表達式為true ,計算標記體的內容

          <ww:else />

          如果前面條件標記的布爾表達式為false,計算標記體的內容

          <ww:elseif />

          如果前面條件標記的布爾表達式為false,而本條件標記的布爾表達式為true,計算標記體的內容

          4Iteration標記

          <ww:iterator />

          遍歷一個集合

          <ww:generator />

          生成遍歷對象

          <ww:append />

          追加遍歷對象

          <ww:subset />

          獲得遍歷對象的子集

          <ww:merge />

          合并幾個遍歷對象為一個.

          5UI標記

          生成HTML表單控件的UI標記和WebWork核心緊密集成,標記被設計為最小化編譯代碼邏輯的數量和使用模板系統呈現HTML的代表。UI標記覆蓋了大部分常用標記,而且提供了一個組件標記,用來創建定制組件。UI標記還提供了顯示內聯錯誤信息的內建支持。有關UI標記的詳細介紹,在下一節中講述。

          6VUI標記

          需要志愿者來編寫。

          7)國際化標記

          <ww:text />

          打印出國際化字符串

          <ww:i18n />

          將一個資源包放到Value Stack, 以便<ww:text />標記使用


          posted on 2007-06-28 09:40 junky 閱讀(864) 評論(0)  編輯  收藏 所屬分類: web

          主站蜘蛛池模板: 久治县| 喀什市| 托克逊县| 宜良县| 临沂市| 迭部县| 山东省| 朔州市| 乌拉特中旗| 潞城市| 手机| 贺兰县| 安阳市| 翼城县| 寿阳县| 峨眉山市| 普兰店市| 眉山市| 山阴县| 鄂温| 新巴尔虎右旗| 朝阳市| 怀化市| 昌宁县| 嘉义县| 和静县| 彰化市| 丰原市| 平定县| 囊谦县| 冷水江市| 民权县| 万盛区| 佛山市| 丹巴县| 开阳县| 成安县| 邵阳县| 苏州市| 洛南县| 庆安县|