Action的配置

    在struts2中核心組件就是action,在配置struts2的xml文件時:spa

<package>元素時必須指定name屬性,該屬性是該包的惟一標識;xml

extends爲可選屬性,指定該包能夠繼承其餘包,(需將被繼承的<package>寫在前面)一般使用該屬性繼承struts-default包;繼承

namespace用於定義該包的命名空間,URL經過該命名空間+action的name訪問到對應的資源,namespace只適應於<package>,對於<package>下的<action>沒法單獨指定namespace,在同一個namespace中不能同時存在名字相同的action;以下圖:資源

輸入URL:http://localhost:8081/MyStruts/namespace/myaction.action系統首先會在 /namespace的命名空間下查找名字爲myaction的Action,若是在該命名空間下沒找到名字爲myaction,系統將直接進入默認的命名空間去查找名字爲myaction的Action;io

若輸入的URL爲:http://localhost:8081/MyStruts/findspace/namespace/myaction.action系統首先會在命名空間爲/findspace/namespace下查找名字爲myaction的Action,若沒有查找到,不會繼續在命名空間爲/findspace下查找名字爲myaction的Action;這點與Spring MVC不一樣;class

在<action>中class不是爲必須屬性,若沒有的話,系統默認使用系統的ActionSupport類;struts2

除此以外,當用戶找不到Action時,咱們還能夠爲系統配置默認的action,配置

action的默認處理類,當沒有爲action配置class時,系統調用的是ActionSupport類,系統默認struts-default包中有以下配置:命名空間

咱們也能夠本身定義系統默認調用類:im

改變系統默認類;

相關文章
相關標籤/搜索