<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

    主站蜘蛛池模板: 亚洲hairy多毛pics大全| 亚洲六月丁香六月婷婷色伊人 | 亚洲AV无码乱码在线观看富二代| 人妻仑乱A级毛片免费看| 亚洲第一页综合图片自拍| 三年片在线观看免费观看大全中国| 亚洲&#228;v永久无码精品天堂久久 | 亚洲欧洲免费无码| 亚洲欧美一区二区三区日产| 免费观看理论片毛片| 美女羞羞视频免费网站| 亚洲人成电影在线播放| 丝瓜app免费下载网址进入ios| 亚洲综合在线另类色区奇米| 亚洲视频免费在线观看| 亚洲人成影院午夜网站| 日本免费一二区在线电影 | 无码国产精品一区二区免费式芒果| 亚洲成人精品久久| 妻子5免费完整高清电视| 色综合久久精品亚洲国产| 亚洲精品成人a在线观看| 国色精品va在线观看免费视频| 亚洲黄色在线观看视频| 巨胸喷奶水视频www网免费| h在线看免费视频网站男男| 无码乱人伦一区二区亚洲一| 精品久久久久成人码免费动漫| 国产精品日本亚洲777| 亚洲精品午夜无码电影网| 精品免费久久久久久久| 老司机午夜免费视频| 亚洲影院在线观看| 国产成人在线免费观看| 久久久久久国产精品免费免费男同 | 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 麻豆亚洲AV成人无码久久精品 | 亚洲精品影院久久久久久| 免费大香伊蕉在人线国产| 无码一区二区三区免费| 美女黄色毛片免费看|