Junky's IT Notebook

          統(tǒng)計

          留言簿(8)

          積分與排名

          WebSphere Studio

          閱讀排行榜

          評論排行榜

          WebWork2教程(中文版)(4.1)

          4、視圖

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

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

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

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

          4.1、使用JSP作為視圖

          使用JSP呈現(xiàn)視圖,可以使用ScriptletsWebWork標記來訪問Action的數(shù)據(jù)。推薦使用WebWork標記

          1)使用Scriptlets訪問Acition的數(shù)據(jù)

          Scriptlets中是使用Value Stack對象訪問Action的數(shù)據(jù)的,下面是使用Scriptlets實現(xiàn)上節(jié)中第二個例子的結果輸出頁面:

          <%@ 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標記,就象上節(jié)中第二個例子使用<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 />

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

          <ww:set />

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

          <ww:url />

          創(chuàng)建編碼的URL

          2)組件標記

          <ww:action />

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

          <ww:bean />

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

          <ww:include />

          包含另外一個頁面或Action

          3)流程控制標記

          <ww:if />

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

          <ww:else />

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

          <ww:elseif />

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

          4Iteration標記

          <ww:iterator />

          遍歷一個集合

          <ww:generator />

          生成遍歷對象

          <ww:append />

          追加遍歷對象

          <ww:subset />

          獲得遍歷對象的子集

          <ww:merge />

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

          5UI標記

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

          6VUI標記

          需要志愿者來編寫。

          7)國際化標記

          <ww:text />

          打印出國際化字符串

          <ww:i18n />

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


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

          主站蜘蛛池模板: 霍邱县| 右玉县| 阿拉善盟| 大安市| 涞水县| 富民县| 庆城县| 乳山市| 全州县| 本溪| 怀化市| 宾川县| 崇文区| 棋牌| 全南县| 新乡市| 靖安县| 德州市| 岳阳市| 上饶县| 长汀县| 嫩江县| 晋城| 酉阳| 清镇市| 仪陇县| 慈溪市| 阿合奇县| 石棉县| 阿鲁科尔沁旗| 日照市| 涞源县| 连云港市| 板桥市| 龙南县| 天峻县| 龙井市| 达尔| 普洱| 定兴县| 本溪|