<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Vikings

    Tapestry 4.0 beta 新特性4-7

    Tapestry4新特性(四)-源代碼標(biāo)注的異常處理
    Tapestry本來提供的debug功能就十分強大,4.0版本中提供了更加詳細的報錯機制,可以顯示錯誤的代碼,并在報錯的地方加亮標(biāo)注,具體截圖請看附件(誰能告訴我怎么將多余的照片刪除呀)
    x1pc_jqddVOWRleOL7C8xpqaKS3AGUAvBT1MIRFANda_NKbU4VLeU4oBwzLDK28sn7jVevA1K85S_hQ00Oz6G95NKXye0F245JuqXGvav5vixzNs9HU6A4cW4wlt3uPg1dt.jpg


    Tapestry4新特性(五)-Friendly URLs
    Tapestry4.0以前版本中的URL一直被人所詬病,當(dāng)然現(xiàn)在已經(jīng)有很多的解決方
    案,4.0版本中已經(jīng)對此做了改進,
    因為現(xiàn)在的版本需要通過hivemind來配置,所以需要設(shè)置hivemind.xml中的一些屬
    性,具體配置如下:
    <?xml version="1.0"?> 
    <module id="tapestry4" version="1.1.0">
     <contribution configuration-id="tapestry.url.ServiceEncoders">
      <page-service-encoder id="page" extension="html" service="page"/>
      <direct-service-encoder id="direct" stateless-extension="direct"
       stateful-extension="sdirect"/>
      <asset-encoder id="asset" path="/assets/"/>
      <extension-encoder id="extension" extension="svc" after="*"/>
     </contribution>
    </module>

    同時web.xml中加入映射:
    <servlet>
    <servlet-name>tapestry4</servlet-name>
    <servlet-class> org.apache.tapestry.ApplicationServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>tapestry4</servlet-name>
    <url-pattern>*.html</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>tapestry4</servlet-name>
    <url-pattern>*.direct</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
    <servlet-name>tapestry4</servlet-name>
    <url-pattern>*.sdirect</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>tapestry4</servlet-name>
    <url-pattern>/assets/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>tapestry4</servlet-name>
    <url-pattern>*.svc</url-pattern>
    </servlet-mapping>
    如果希望首頁的調(diào)用不是通過/app來映射,可以在web.xml中更改redirect:
    <filter-name>redirect</filter-name>
    <filter-class>org.apache.tapestry.RedirectFilter</filter-class>
    <init-param>
    <param-name>redirect-path</param-name>
    <param-value>/Home.html</param-value>
    </init-param>
    </filter>
    這樣鍵入http://localhost:8080/tapestry4,系統(tǒng)導(dǎo)航到http://localhost:
    8080/tapestry4/Home.html,
    添加一個Page頁面例如Test.page,在Home.html中加入<a href="#"
    jwcid="@PageLink" page="Test">test</a>,
    在生成的Home.html中生成的test的鏈接地址為:http://localhost:
    8080/tapestry4/Test.html

    Tapestry4新特性(六)-自動定位頁面類文件

    關(guān)于此特性的介紹請參考:http://jakarta.apache.org/tapestry/current/UsersGuide/page-class.html 說明:
    通俗點說就是您可以不定義.page文件或者定義的.page文件中不指定class 屬性,而讓服務(wù)器自動根據(jù).html文件的路徑來尋找對應(yīng)的類文件。 配置:
    在.application的定義文件中添加: 這樣如果在文檔根目錄下有個Home.html文件,你就可以將Home.java放到 org.edynasty.pages(實際開發(fā)中配置為您自己的包名)包中,tapestry自動根據(jù) Home.hmtl構(gòu)造org.edynasty.pages.Home來定位頁面的類文件,當(dāng)然您也可以在WEB -INF目錄下放一個Home.page,不需要定義class屬性,tapestry自動按照上邊的原 理定位。 效果:
    這樣您可以不需要維護.page中的class屬性,直接根據(jù).html文件來寫對應(yīng) 的類文件。而且可以根據(jù)業(yè)務(wù)邏輯來定義目錄結(jié)構(gòu),例如將 org.edynasty.pages.user定義為user相關(guān)的類,.html也就可以放到user目錄下 邊,目錄結(jié)構(gòu)如下: user/ListUsers.html user/EditUser.html course/ListCourses.html course/EditCourses.html Home.html


    Tapestry4新特性(七)-Application和Session范圍對象的使用
    Application和Session范圍對象的使用

    關(guān)于此特性的介紹請參考:http://jakarta.apache.org/tapestry/UsersGuide/state.html
    說明:
    Application和Session范圍的概念就不說了,T4以前的版本只可以分別指定一個對象,
    以前版本的定義如下:
    <property name="org.apache.tapestry.visit-class" value="your.package.Visit"/>
    <property name="org.apache.tapestry.global-class" value="your.package.Global"/>,
    T4中可以指定任意多的對象,而且默認的visit和global仍然可以使用。

    配置:在hivemodule.xml的定義文件中添加:
    <contribution configuration-id="tapestry.state.ApplicationObjects">
    <state-object name="applicationUser" scope="application">
    <create-instance class="org.edynasty.model.User"/>
    </state-object>
    <state-object name="sessionUser" scope="session">
    <create-instance class="org.edynasty.model.User"/>
    </state-object>
    </contribution>
    兩個user分別對應(yīng)Application和Session范圍,在需要使用user的page中注入:
    <inject property="applicationUser" type="state" object="applicationUser"/>
    <inject property="sessionUser" type="state" object="sessionUser"/>,通過
    getter和setter方法調(diào)用。

    效果:怎么說呢,可以不需要在一個visit中定義N多屬性,因為Session的創(chuàng)建需要資源,
    只要操作一個visit的屬性,就需要創(chuàng)建整個visit,分別定義之后,可以在需要存取時分別創(chuàng)建。

    posted on 2005-11-08 18:00 Vikings 閱讀(435) 評論(0)  編輯  收藏 所屬分類: frame-work

    主站蜘蛛池模板: 久久青青草原国产精品免费| 免费无码又爽又刺激网站直播| xx视频在线永久免费观看| 国产l精品国产亚洲区在线观看| 久久久久女教师免费一区| 国产亚洲精久久久久久无码77777| 免费毛片毛片网址| 亚洲一区二区三区免费| 一级做a爱片特黄在线观看免费看| 亚洲国产精品一区二区三区久久| 成年免费大片黄在线观看com| 中文字幕久久亚洲一区| 成人免费区一区二区三区| 日木av无码专区亚洲av毛片| 日本免费一区二区在线观看| 亚洲人成图片网站| 国产免费人视频在线观看免费| 羞羞视频免费网站含羞草| 中国亚洲女人69内射少妇| 美丽姑娘免费观看在线观看中文版| 亚洲成人黄色在线| 国产精品免费_区二区三区观看| 无码免费又爽又高潮喷水的视频| 亚洲日本乱码在线观看| 最近免费最新高清中文字幕韩国| 亚洲天堂2017无码中文| 亚洲A丁香五香天堂网| 日韩av无码免费播放| 亚洲香蕉久久一区二区三区四区| 国产一级理论免费版| 精品一卡2卡三卡4卡免费视频| 亚洲一区电影在线观看| 亚洲成人一区二区| 99久热只有精品视频免费看 | 亚洲成人高清在线| 一级毛片免费观看不卡的| 激情综合亚洲色婷婷五月| 中文字幕精品亚洲无线码一区应用 | 国产亚洲一区二区在线观看| 2021国产精品成人免费视频| 国产精品日本亚洲777|