1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      怎么配置struts.xml-創(chuàng)新互聯(lián)

      怎么配置struts.xml?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

      創(chuàng)新互聯(lián)主營渾源網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,渾源h5小程序制作搭建,渾源網(wǎng)站營銷推廣歡迎渾源等地區(qū)企業(yè)咨詢

       struts.xml是我們在開發(fā)中利用率最高的文件,也是Struts2中最重要的配置文件。

      一下分別介紹一下幾個struts.xml中常用到的標(biāo)簽

      1、

      利用include標(biāo)簽,可以將一個struts.xml配置文件分割成多個配置文件,然后在struts.xml中使用標(biāo)簽引入其他配置文件。

      比如一個網(wǎng)上購物程序,可以把用戶配置、商品配置、訂單配置分別放在3個配置文件user.xml、goods.xml和order.xml中,然后在struts.xml中將這3個配置文件引入:

      struts.xml:

      
      
      
      
      	
      	
      	
      

      user.xml:

      
      
      
      
      	
      		
      			
      		
      		
      			
      		
      	
      
      2、

      在之前提到struts.properties配置文件的介紹中,我們曾經(jīng)提到所有在struts.properties文件中定義的屬性,都可以配置在struts.xml文件中。而在struts.xml中,是通過標(biāo)簽來進(jìn)行配置的:

      
      
      
      
      	
      	
      	
      	
      	
      
      3、1、包屬性介紹

      在Struts2框架中是通過包來管理action、result、interceptor、interceptor-stack等配置信息的。包屬性如下:

      屬性

      是否必需

      描述

      name包名,作為其它包應(yīng)用本包的標(biāo)記
      extends設(shè)置本包繼承其它包
      namespace設(shè)置包的命名空間
      abstact設(shè)置為抽象包

      2、extends屬性的詳解
      • 當(dāng)一個包通過配置extends屬性繼承了另一個包的時候,該包將會繼承父包中所有的配置,包括action、result、interceptor等。

      • 由于包信息的獲取是按照配置文件的先后順序進(jìn)行的,所以父包必須在子包之前被定義。

      • 通常我們配置struts.xml的時候,都繼承一個名為“struts-default.xml”的包,這是struts2中內(nèi)置的包。

      3、namespace的詳解

      namespace主要是針對大型項目中Action的管理,更重要的是解決Action重名問題,因為不在同一個命名空間的Action可以使用相同的Action名的。

      1)如果使用命名空間則URL將改變

      比如我們有一下配置文件

      
      	
      		/success.jsp
      	
      

      則此配置下的Action的URL為localhost:8080/login.action

      假如為這個包指定了命名空間

      
      	
      		/success.jsp
      	
      

      則此配置下的Action的URL為localhost:8080/user/login.action

      2)默認(rèn)命名空間

      Struts2中如果沒有為某個包指定命名空間,該包使用默認(rèn)的命名空間,默認(rèn)的命名空間總是""。

      3)指定根命名空間

      當(dāng)設(shè)置了命名空間為“/”,即指定了包的命名空間為根命名空間時,此時所有根路徑下的Action請求都會去這個包中查找對應(yīng)的資源信息。

      假若前例中路徑為http://localhost:8080/login.action則所有http://localhost:8080/*.action都會到設(shè)置為根命名空間的包中尋找資源。

      4、1、屬性介紹

      屬性名稱

      是否必須

      功能描述

      name請求的Action名稱
      classAction處理類對應(yīng)具體路徑
      method指定Action中的方法名
      converter指定Action使用的類型轉(zhuǎn)換器

      如果沒有指定method則默認(rèn)執(zhí)行Action中的execute方法。

      2、屬性介紹

      屬性名稱

      是否必須

      功能描述

      name對應(yīng)Action返回邏輯視圖名稱,默認(rèn)為success
      type返回結(jié)果類型,默認(rèn)為dispatcher

      3、通配符的使用

      隨著result的增加,struts.xml文件也會隨之變得越來越復(fù)雜。那么就可以使用通配符來簡化配置:

      例如下面這個案例:

      Action為Test.java

      public class Test {
      	public String test1(){
      		return "result1";
      	}
      	
      	public String test2(){
      		return "result2";
      	}
      	
      	public String test3(){
      		return "result3";
      	}
      }

      struts.xml中配置為

      
      	
      		/result{1}.jsp
      	
      
      4、訪問Action方法的另一種實現(xiàn)方式

      在Struts2中如果要訪問Action中的指定方法,還可以通過改變URL請求來實現(xiàn),將原本的“Action名稱.action”改為“Action名稱!方法名稱.action”在struts.xml中就不需要指定方法名了。

      5、

      這兩個標(biāo)簽都是用來配置發(fā)生異常時對應(yīng)的視圖信息的,只不過一個是Action范圍的,一個是包范圍的,當(dāng)同一類型異常在兩個范圍都被配置時,Action范圍的優(yōu)先級要高于包范圍的優(yōu)先級.這兩個標(biāo)簽包含的屬性也是一樣的:

      屬性名稱

      是否必須

      功能描述

      name用來表示該異常配置信息
      result指定發(fā)生異常時顯示的視圖信息,這里要配置為邏輯視圖
      exception指定異常類型


      兩個標(biāo)簽的示例代碼為:

      
      
      
      
      	
      		
      			
      		
      		
      			
      		
      	
      
      6、

      當(dāng)我們在配置Action的時候,如果沒有為某個Action指定具體的class值時,系統(tǒng)將自動引用標(biāo)簽中所指定的類。在Struts2框架中,系統(tǒng)默認(rèn)的class為ActionSupport,該配置我們可以在xwork的核心包下的xwork-default.xml文件中找到。

      有特殊需要時,可以手動指定默認(rèn)的class

      package wwfy.action;
      
      public class DefaultClassRef {
      	public void execute(){
      		System.out.println("默認(rèn)class開始執(zhí)行……");
      	}
      }

      在struts.xml中配置

      
      
      
      
      	
      		
      		
      		
      			/index.jsp
      		
      	
      
      7、

      如果在請求一個沒有定義過的Action資源時,系統(tǒng)就會拋出404錯誤。這種錯誤不可避免,但這樣的頁面并不友好。我們可以使用來指定一個默認(rèn)的Action,如果系統(tǒng)沒有找到指定的Action,就會指定來調(diào)用這個默認(rèn)的Action。

      
      
      
      
      	
      		
      		
      		
      			/jsp/actionError.jsp
      		
      	
      
      8、

      該標(biāo)簽用來設(shè)置整個包范圍內(nèi)所有Action所要應(yīng)用的默認(rèn)攔截器信息。事實上我們的包繼承了struts-default包以后,使用的是Struts的默認(rèn)設(shè)置。我們可以在struts-default.xml中找到相關(guān)配置:

      在實際開發(fā)過程中,如果我們有特殊的需求是可以改變默認(rèn)攔截器配置的。當(dāng)時一旦更改這個配置,“defaultStack”將不再被引用,需要手動最加。

      9、

      通過該標(biāo)簽可以向Struts2框架中注冊攔截器或者攔截器棧,一般多用于自定義攔截器或攔截器棧的注冊。該標(biāo)簽使用方法如下:

      
      	
      	
      		
      	
      
      10、

      通過該標(biāo)簽可以為其所在的Action添加攔截器功能。當(dāng)為某個Action單獨(dú)添加攔截器功能后,中所指定的攔截器將不再對這個Action起作用。

      11、

      該標(biāo)簽用于設(shè)置包范圍內(nèi)的全局結(jié)果集。在多個Action返回相同邏輯視圖的情況下,可以通過標(biāo)簽統(tǒng)一配置這些物理視圖所對應(yīng)的邏輯視圖。

      
      
      
      
      
      /index.jsp
      
      
      

      看完上述內(nèi)容,你們掌握怎么配置struts.xml的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


      網(wǎng)頁名稱:怎么配置struts.xml-創(chuàng)新互聯(lián)
      文章地址:http://www.ef60e0e.cn/article/cddoci.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        宜川县| 察雅县| 阳西县| 绥江县| 越西县| 翁源县| 济宁市| 乌兰浩特市| 内乡县| 开原市| 靖西县| 旬邑县| 沙洋县| 顺义区| 武冈市| 濮阳县| 莱西市| 枣庄市| 黄龙县| 上蔡县| 皋兰县| 肥西县| 昌平区| 五大连池市| 长岭县| 张家川| 蓝山县| 巴塘县| 丹寨县| 南宫市| 乳山市| 麟游县| 同德县| 呼伦贝尔市| 洪江市| 绥化市| 河西区| 图片| 临海市| 盐亭县| 西丰县|