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


    Tapestry4新特性(五)-Friendly URLs
    Tapestry4.0以前版本中的URL一直被人所詬病,當然現在已經有很多的解決方
    案,4.0版本中已經對此做了改進,
    因為現在的版本需要通過hivemind來配置,所以需要設置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>
    如果希望首頁的調用不是通過/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,系統導航到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新特性(六)-自動定位頁面類文件

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


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

    關于此特性的介紹請參考: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分別對應Application和Session范圍,在需要使用user的page中注入:
    <inject property="applicationUser" type="state" object="applicationUser"/>
    <inject property="sessionUser" type="state" object="sessionUser"/>,通過
    getter和setter方法調用。

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

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

    主站蜘蛛池模板: 亚洲自偷自偷精品| 亚洲福利视频一区二区| 久久亚洲私人国产精品| 久久久久久久99精品免费观看| 亚洲一区二区三区影院| 中文字幕免费在线观看动作大片| 亚洲AV无码不卡在线观看下载 | 国产亚洲精品线观看动态图| 色多多A级毛片免费看| 亚洲情侣偷拍精品| 国产免费伦精品一区二区三区 | 青娱分类视频精品免费2| 亚洲色av性色在线观无码| 在线观看永久免费| 国产精品亚洲精品青青青| 成人最新午夜免费视频| 麻豆69堂免费视频| 亚洲精品无码不卡在线播HE| 四虎国产成人永久精品免费| 亚洲一区二区三区亚瑟| 女人被男人躁的女爽免费视频| 黄页网址在线免费观看| 久久精品国产亚洲综合色| 亚洲精品视频免费看| 亚洲αⅴ无码乱码在线观看性色| 亚洲国产精品嫩草影院久久| 可以免费观看的毛片| 亚洲www在线观看| 亚洲欧洲国产成人综合在线观看| 久久午夜免费鲁丝片| 亚洲一级片在线播放| 免费乱码中文字幕网站| 最近中文字幕大全免费版在线| 亚洲日韩在线视频| 免费人成视频在线观看视频| 黄网站免费在线观看| 亚洲综合成人婷婷五月网址| 日日噜噜噜噜夜夜爽亚洲精品| 日本XXX黄区免费看| 一个人免费观看视频在线中文| 91亚洲精品视频|