小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

struts2主要的配置文件提要

 pengx 2008-09-03

本文記錄struts2主要的配置文件,存放位置,和注意點

(實際上,這些配置文件都是在class文件夾下起作用,不過凡是放在src文件夾下的,都會在eclipse編譯時復(fù)制到對應(yīng)的class文件夾。)

配置文件名       存放位置          備注

struts.xml                 src文件夾下           struts2默認配置文件

        

l 可通過<include>來包含別的struts配置文件。

l 在<package>中繼承其他package可以擁有其他package的配置。

l 每個action最好加一個名為"input"的<result>,為出錯默認的返回值

l 關(guān)于<package>的繼承:

                   如果一個package要繼承另一個package,則必須把另一個package所在的.xml配置文件include進來。只有一個例外,就是繼承structs-default包時,不需要加載struts-default.xml。     因為struts.xml是默認包含了struts-default.xml。

                   在package繼承時,package的先后是沒有關(guān)系的,前面的package一樣能繼承后面的package

                   (貌似有本"權(quán)威指南"說這個還是攔截器配置,是順序,有先后的,至少我的測試,package繼承絕對沒有先后之分)

                   請看一個例子,其中有三個配置文件:

                  struts-base.xml,struts-middle.xml,和struts.xml

 

                   struts-base.xml配置片斷

 

<struts>

          
<package name="base" extends="struts-default" abstract="true">

           
</package>

 
</struts>

       struts-middle.xml配置片斷

 

                   <struts>

                       
<package name="middle" extends="base" abstract="true">

             

                          
</package>

                   
</struts>
            struts.xml配置片斷

 

         <struts>

                   
<package name="Registaction" extends="top">

                            
<action></action>

                   
</package>

                   
<package name="top" extends="middle">


                   
</package>

                   
<include file="struts-middle.xml"></include>

                   
<include file="struts-base.xml"></include>

         
</struts>

 

 可以看到struts.xml中的配置,package繼承的順序完全是和package定義的位置相反的,不過執(zhí)行并沒有問題。

                   另外注意一點,struts-base.xml中,名base的package直接繼承了struts-default,而沒有引入     struts-default.xml。 你可能會由此以為每個配置文件都會自動包含struts-default.xml。不過我個人認為,這是因為struts.xml中同時包括了struts-default.xml和struts-base.xml,這兩個文件其實是在同一個配置文件中,所以base

struts.properties
      放在src      可免,通過struts.xml里面的constant元素配置

l 一些常用的屬性:

struts.custom.properties :用戶自定義屬性文件,多個用逗號隔開

struts.devMode:是否處于開發(fā)模式,開發(fā)階段可設(shè)true。

struts.i18n.reload:每次請求到達重新加載資源文件,開發(fā)階段設(shè)true。

struts.ui.theme: 默認視圖主題,默認為xhtml

struts.configuration.xml.reload :指定struts.xml改變后自動重新加載。默認false。

struts.custom.i18n.resources:指定struts2國際化資源文件。

struts.configuration.files:指定struts2默認加載的配置文件,該屬性默認值為struts-default.xml,struts-plugin.xml,struts.xml

 

messageResource_language_COUNTRY.properties action同目錄 本地化信息配置文件

 

XXXAcion-conversion.properties     action同目錄   局部類型轉(zhuǎn)換器配置

         aaaa(action中的屬性名) = package.xxxconverter

        

xwork-conversion.properties     src文件夾下      全局類型轉(zhuǎn)換器配置

         ttt(類型) = package.xxxConvertor

         Element_xxx=xxxType 對于沒有泛型支持的list,collection

 

actionname-validation.xml   action同目錄    action對應(yīng)的驗證配置,actionname action的類名

xwork-validation.xml         放在src           全局驗證

關(guān)于驗證有一點需留意,默認攔截器棧, conversionError攔截器配置都在validation攔截器之前。所以,在進行驗證之前,conversionError攔截器會先調(diào)用轉(zhuǎn)換器對頁面上的屬性進行轉(zhuǎn)換,若轉(zhuǎn)換器中拋出錯誤,會通過conversionError攔截器直接把錯誤信息返回頁面,所以也不會經(jīng)過validation了。這樣一來,validation配置里面的友好的提示信息就換成了異常里面編程人員才看得懂的message了,對于用戶而言不太好。

實際上validation攔截器所做的是服務(wù)器端驗證,它只對action里面的屬性定義的類型起作用,比如在action中某屬性attrib1是 int型的,那么像正則表達式之類針對string的驗證器就不會起作用,這和客戶端驗證不同之處在于,客戶端驗證把所有類型的輸入都看作string.

 

所以,頁面輸入的驗證,現(xiàn)在可以有3道。

l 第一道是仍然基于javascript的客戶端驗證

這一道其實也可以通過轉(zhuǎn)換器來識別,轉(zhuǎn)換器最先讀入時,仍然是String型,因此可以在轉(zhuǎn)換過程中對格式進行驗證。

l 第二道是轉(zhuǎn)換器轉(zhuǎn)換時的驗證(其實是拋出轉(zhuǎn)換異常,也可以當作輸入格式上的驗證)

這一道,默認的輸出message比較不友好,不過可以通過在messageResource資源文件中配置這兩個鍵值加入自己的信息:

1.       Xwork.default.invalid.fieldvalue   默認類型轉(zhuǎn)換失敗信息

2.       Xwork.fieldvalue.屬性名 指定屬性名的類型轉(zhuǎn)換失敗信息。

l 第三道是validation配置文件配置的服務(wù)器端驗證。

這些驗證類型名可以通過看xwork-x-x.jar中com.opensymphony.xwork2.validator.validators包內(nèi)的default.xml看到

還是得強調(diào)下,服務(wù)器端驗證主要關(guān)注的不是參數(shù)的格式,而是參數(shù)的實際內(nèi)容,服務(wù)器端驗證格式反而很不方便。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多