JAVA流通橋

          JAVA啟發(fā)者

          統(tǒng)計(jì)

          留言簿(3)

          AJAX相關(guān)網(wǎng)址

          Eclipse相關(guān)網(wǎng)址

          Hibernate

          java相關(guān)網(wǎng)址

          LINUX相關(guān)網(wǎng)址

          webwork相關(guān)網(wǎng)址

          友好鏈接

          閱讀排行榜

          評論排行榜

          Portlet Configuration

          XWork配置

          你的應(yīng)用程序的基本包(base package)應(yīng)該擴(kuò)展自 webwork-portlet-default 包, 例如:

          xwork.xml
          <include file="webwork-default.xml" />
          <package name="view" extends="webwork-portlet-default" namespace="/view">

           

           

          Portlet初始化參數(shù)

          下面是在 portlet.xml 中為portlet配置portlet模式(mode) -> xwork命名空間(namespace)影射的 init-param 元素. 簡單的講, 你可以把portlet模式理解為不同的子應(yīng)用程序, 這樣它可以為不同的portlet和portlet模式在 xowrk.xml 中配置不同的命名空間(namespace):

          Key 描述 默認(rèn)值
          portletNamespace 這個portlet在xwork配置中的命名空間(namespace). 命名空間(namespace)將在查找action時被優(yōu)先考慮, 從而允許在同一個portlet應(yīng)用程序中建立(host)多個portlet. 如果設(shè)定了這個參數(shù), 完整的命名空間(namespace)將會是 /portletNamespace/modeNamespace/actionName 默認(rèn)命名空間.
          viewNamespace xwork配置中視圖portlet模式(view portlet mode)的命名空間(namespace). The default namespace.
          editNamespace xwork配置中編輯portlet模式(edit portlet mode)的命名空間(namespace). The namespace in the xwork config for the edit portlet mode. 默認(rèn)命名空間.
          helpNamespace xwork配置中幫助portlet模式(help portlet mode)的命名空間(namespace). 默認(rèn)命名空間.
          defaultViewAction 在沒有指定action名稱時, 視圖portlet模式(view portlet mode)使用的默認(rèn)action名稱. 默認(rèn)值
          defaultEditAction 在沒有指定action名稱時, 編輯portlet模式(edit portlet mode)使用的默認(rèn)action名稱. 默認(rèn)值
          defaultHelpAction 在沒有指定action名稱時, 幫助portlet模式(help portlet mode)使用的默認(rèn)action名稱. 默認(rèn)值

          例子

          portlet.xml
          <init-param>
          <!-- Portlet 命名空間 -->
          <name>portletNamespace</name>
          <value>/portletA</value>
          </init-param>
          <init-param>
          <!-- view portlet 的基本命名空間 -->
          <name>viewNamespace</name>
          <value>/view</value>
          </init-param>
          <init-param>
          <!-- 在view portlet 模式下調(diào)用的默認(rèn)action名稱 -->
          <name>defaultViewAction</name>
          <value>index</value>
          </init-param>

           

           

          這個 portlet.xml 的片斷將會建立一個命名空間為 /portletA/ 的portlet. 這意味著所有對該portlet的請求將優(yōu)先在此命名空間中尋找action. 進(jìn)一步說, _視圖(view) portlet 模式將會影射到 /view 命名空間, 這樣一個對叫 myAction 的action的請求將會被轉(zhuǎn)發(fā)到一個 /portletA/view/myAction 命名空間下的action上. 這也意味著如果沒有請求一個action, 那么對這個請求將會調(diào)用默認(rèn)的action index.

          Portlet 階段(phases)

          Portlet規(guī)范描述一個portlet請求周期將持續(xù)為兩個階段, event(活動) 階段 和 render(渲染) 階段. 假設(shè)這個portlet中有 event(活動) 階段, 那么它將肯定先于 render(渲染) 階段執(zhí)行. Event(活動) 階段一般用來改變應(yīng)用程序的狀態(tài). 在一個portlet中, 典型情況是在form提交的時候. Render(渲染) 階段將會準(zhǔn)備和分派到視圖(view). 推薦你將一個在 event(活動) 階段執(zhí)行的action的結(jié)果(result)指向到另外一個在 render(渲染) 階段執(zhí)行的action上, 后者用來負(fù)責(zé)派發(fā)到真正的視圖.

          Portlet 結(jié)果派發(fā)(result dispatching)

          webwork-portlet-default 包定義了一個特殊的默認(rèn)結(jié)果類型(result type), 它負(fù)責(zé)執(zhí)行一個Action執(zhí)行的結(jié)果邏輯(result logic). 一般, 這包括include一個jsp進(jìn)行渲染, 或者為當(dāng)前的活動 action準(zhǔn)備一個渲染 action.

          這個結(jié)果類型有三種主要執(zhí)行模式.

          • 如果這個Action在渲染階段執(zhí)行, 它會對配置在 location 屬性下的資源執(zhí)行 PortletRequestDispatcher.include(req, res) 方法.
          • 如果這個Action在活動階段執(zhí)行, 并且結(jié)果是一個action影射(action mapping), 它會給ActionResponse設(shè)置一個渲染參數(shù)指定哪個Action將會在接下來的渲染階段執(zhí)行. 這符合良好的web應(yīng)用程序設(shè)計(jì), 著提促進(jìn)了活動后重定向(redirect)的使用, 這樣意味著一個在活動階段執(zhí)行的Action將會緊接著被重定向到一個在渲染階段執(zhí)行的Action.
          • 如果這個Action在活動階段被執(zhí)行, 并且結(jié)果不是一個action影射(action mapping), 結(jié)果將會作為一種特殊的Action準(zhǔn)備, 它被叫做 "renderDirect(直接渲染)" (在 webwork-portlet-default 包中指定), 它的唯一職責(zé)就是渲染特定的web資源 (一般是一個JSP).

          在活動模式執(zhí)行的action可以通過result配置中的query string給渲染模式執(zhí)行的action傳遞渲染參數(shù):

          xwork.xml
          <result name="success">/displayCart.action?userId=${userId}</result>

           

           

          這會將一個叫做 userId渲染參數(shù) 值傳遞給將要派發(fā)到的action的 userId 屬性.

          renderDirect(直接著色,直接生成),實(shí)際上是把結(jié)果放到特定的WEB資源中..

          posted on 2007-04-13 10:02 朱巖 閱讀(449) 評論(0)  編輯  收藏 所屬分類: webwork文章


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 南华县| 赣州市| 梧州市| 城步| 会理县| 株洲市| 环江| 休宁县| 余庆县| 股票| 武夷山市| 松滋市| 滨州市| 闽侯县| 抚顺市| 农安县| 沁源县| 类乌齐县| 凤凰县| 湖州市| 宝鸡市| 蕉岭县| 吉安市| 万荣县| 万盛区| 开封县| 泾川县| 扬州市| 麻栗坡县| 监利县| 乌恰县| 宁城县| 临沂市| 自治县| 南城县| 上饶县| 莲花县| 胶南市| 陈巴尔虎旗| 沾益县| 雷州市|