首先列舉action的屬性**如下:
type="actionclass"
name="userform"
scope="request"
attribute="key"
input="/register.jsp"
forward="/index.jsp"
include="/index.jsp"
unknown="true"
parameter="test"
validate="true">
下面對其屬性解析:
path:
代表請求的
action
的名稱,
無需指明字尾
struts1
自動處理
type:
代表請求的
action
交給哪個
action處理,
注意此類的名稱一定是類的全名稱
(包括包名
)。name
:代表的是請求引數封裝的
actionform
的名稱。
備註:此名稱與名稱
form"
type="
form
類的全名
">中"
名稱form
"一致,並通過此form-bean中的type來指定封裝的actionform類。
scope
:代表把
formbean
的引數封裝到那個作用域中
,預設的作用域為
session。
備註:當我們沒有指定formbean的作用域時,在type指定的action類中還可以通過以下**獲取:
userform userform = (userform) form;
/*** 由於在action的屬性配置中的scope屬性指定了userform的作用域, 當採用的是預設值(session)時,
* 也可以直接從作用域中獲取**如下:
userform userform =
*(userform)request.getsession().getattribute(
"userform"
);*/
/**備註:
由於在開發
中為了節省
actionform
占用的記憶體空間,
一般採用
scope=」request」配置,
因此也可以採用一下的方式獲取
*/userform userform = (userform) request.getattribute("userform");
注意:若aciton的配置中沒有配置attribute="key" 屬性時,在action中獲取的關鍵字採用預設的值及name的名稱,當配置了attribute="key"屬性時,必須通過"key"獲取。
attribute:
指定formbean
儲存的key,
不設預設為
name
屬性的值。
舉例:如果在action的配置中配置了attribute=」uform」,在action中獲取的方式應該為:
/** 通過方法引數中傳遞的actionform獲取actionform中的物件
並強制造型為
userform */
userform userform = (userform) form;
/**由於在action的配置中指明了attribute的屬性及屬性值,因此應該採用以下方式獲取*/
userform userform = (userform) request.getattribute("uform");
input="/register.jsp"
指定formbean
的資料是由哪個頁面提供的。
說明:提供此屬性的目的在於formbean校驗失敗時,程式方便跳回formbean的輸入頁面,通過struts1錯誤資訊標籤,顯示校驗失敗資訊。
forward="/index.jsp"
指定收到請求時,跳轉到相應的jsp頁面。
強調:如果配置了此屬性,則action將不再被呼叫,即接受到此action時,直接調至到index.jsp頁面。
include="/index.jsp"
指定收到請求時,進行頁面包含。
unknown="true"
如果action
把該屬性設定為
true
,則它可以處理客戶機發出的所有無效的
.do請求,預設值為
false。
舉例:如果在配置檔案中新增如下的
action配置,
如果在此配置檔案中找不到regi.do的action就會處理上面配置的action直接跳轉到index.jsp頁面 (備註:與此action中path名稱無關,但必須配置乙個path屬性)。
parameter="test"
配置action引數,
呼叫方法可以獲得這裡配置的引數。
classname="
" 標籤和所有的配置資訊使用哪個物件封裝,預設值為
物件。validate="true"
請求引數封裝到
formbean
中後,是否讓
struts
自動呼叫
formbean
的validate
方法進行資料校驗,預設
true。
forward標籤
在action
配置中,
還有一些其他的標籤配置,
即在處理完此
action
之後可以在
action
中的execute
方法中通過此標籤的
name
屬性獲取此
action,
並跳轉到相應的
path
位址中。
舉例:如果在
action
內部我們配置了
forward
標籤的**如下:
那麼可以再action返回值中做如下處理:
/** 獲取跳轉的位址並返回actionforward */
通過以上配置,在處理完此action後,struts1經過處理後就會跳轉到/message.jsp檢視層
學習struts1(配置檔案)
最近在用struts1與oracle資料庫一起做東西,在工作中發現自己原來還是乙個菜鳥,有許多東西還要去學,邊學邊用,一步一步往前走呀,不多說了,今天總結了struts1的核心配置檔案 struts config.xml。我也是在學習總結,有什麼說的不對的地方,還希望大家給我指出來呀。action類...
struts1配置檔案之input
訪問edit方法的時候,使用這個 editperson.do?method edit 此時input就是 edit.jsp input register.jsp 指定formbean 的資料是由哪個頁面提供的。說明 提供此屬性的目的在於 formbean 校驗失敗時,程式方便 跳回formbean ...
struts1中配置應用
列表收集id集合時,在formbean中放乙個string selectflag 陣列,這時提交時formbean會自動收集 function deleteuser if flag if window.confirm 確認刪除嗎?直接將值放到request中,前台用el或標籤顯示出來 beanuti...