Struts1中的標籤

<action path="URL"
    type="ActionClass"
    name="userForm"
    scope="request"
    attribute="key"
    input="/register.jsp"
    forward="/index.jsp"
    include="/index.jsp"
    unknown="true"
    parameter="test"
    className="mappingclass"
    validate="true">
    <forward name="" path=""></forward>
</action>
path表示的是action請求的名稱,比如<form action="${pageContext.request.contextPath}/Register.do" method="post">....</form>中,*do後綴無需指明,strut1會自動進行處理。在上面的<form>表單中action標籤對應的type應該是type="/Register"。
type代表該請求應該有哪個Action處理,注意此類的名稱一定是類的全名稱(包括包名)。
name 表示請求封裝的ActionForm類
此名稱與<form-beans><form-bean name="名稱Form" type="Form類的全名"></form-bean></form-beans>中"名稱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");
input指定formbean的數據是由哪個頁面提供的。
說明:提供此屬性的目的在於formbean校驗失敗時,程序方便跳回formbean的輸入頁面,通過struts1錯誤信息標籤,顯示校驗失敗信息
forward 指定收到請求時,將請求結果跳轉到哪個頁面
include="/index.jsp" 定收到請求時,進行頁面包含。
unknown="true" 如果action把該屬性設置爲true,則它可以處理客戶機發出的所有無效的.do請求,默認值爲false。舉例:如果在配置文件中添加如下的action配置,<action path="/**" forward="/index.jsp"                                                                     unknown="true"/>,當如果在地址欄中發出請求爲:http://localhost:8080/20110105struts1_2/regi.do
如果在此配置文件中找不到regi.do的Action就會處理上面配置的action直接跳轉到index.jsp頁面 (備註:與此action中path名稱無關,但必須配置一個path屬性)。
  parameter="test" 配置action參數,調用actioMapping.getParameter方法可以獲得這裏配置的參數。
 className="mappingclass" <action>標籤和所有的配置信息使用哪個對象封裝,默認值爲ActionMapping對象。
 validate="true" 請求參數封裝到formbean中後,是否讓struts自動調用formbeanvalidate方法進行數據校驗,默認true。
forward標籤
 在action配置中,還有一些其他的標籤配置,<forward name="" path=""></forward>即在處理完此action之後可以在Action中的execute方法中通過此標籤的name屬性獲取此action,並跳轉到相應的path地址中。
    舉例:如果在action內部我們配置了forward標籤的代碼如下:
<forward name="message" path="/message.jsp"></forward>
那麼可以再Action返回值中做如下處理:/** 獲取跳轉的地址並返回ActionForward */
    return mapping.findForward("message");
通過以上配置,在處理完此action後,struts1經過處理後就會跳轉到/message.jsp視圖層。


 






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章