1. 程式人生 > >struts入門學習(struts中ActionForm,Action,javabean的執行機制 )

struts入門學習(struts中ActionForm,Action,javabean的執行機制 )

在此舉一個使用者註冊說明struts中的幾個類的用法
1,建立一個javabean(User.java)來封裝使用者的一些具體資訊(id,name,等)
User:
private id,name......
getter
setter
相信這個javabean誰都能完成,程式碼就不寫了
2,就是struts中的ActionForm了(UserForm.java),它封裝的也是使用者的資訊,但是抽象的資訊,把1中的整個User封裝起來,當然可能還有一些其他的功能方法
UserForm
private User
getUser
setUser
this.user=new User()//重直user
看了這個功能之後,也許會問為什麼要這個ActionForm呢,他和前一個都是同樣的功能,封裝使用者資訊,但這是抽象化的,不管使用者的具體資訊怎麼變,他都能封裝,這就達到了可重用性
3,也許要到處理邏輯業務的時候了,但還未時過早,現在是struts中Action上場了(UserAction.java),處理抽象的業務邏輯,它通過ActionForward來對映到具體的頁面(結合struts-config.xml來實現)
UserForm f=(UserForm)form
UserBean bean=new UserBean() //建立後面要處理具體的業務邏輯的javabean(UserBean.java)
return(mapping.findForward(“show”)//通過次來對映到值為show的具體頁面,請注意此中的show,在後面還將有關聯
4,最後才達到了執行具體的業務邏輯的javabean(UserBean)(連線資料庫,把使用者資訊加到資料庫)
UserBean:
Connection conn
insertUser()//把使用者資訊加入到資料庫中的方法
以上這些java程式碼的功能都很明確了,至於具體的程式碼我們完全可自己實現
5,接下來做的就是簡單的jsp頁面處理了
提交表單的jsp頁面,主要是表單(user.jsp)(該表單用到struts的html標籤,和struts一起工作實現到struts的ActionForm)
form action=”addUser.do“//請記住這個action的值,後面配置中還會用到
6,顯示使用者資訊的頁面(showuser.jsp),這頁面沒什麼難處,剛學jsp就能搞定

7,怎樣讓struts中的這些類來完美的結合在一起工作呢,這就要來配置struts-config.xml檔案了
<form-beans>
<form-bean name="userForm" type="package.UserForm"/>//記住name的值,後面會用到
</form-beans>
/*這就是我們上面所設計的struts中actionForm(UserForm)可重用元件*/
<global-forwards>
<forward name="show" path="/showuser.jsp"/>
</global-forwards>
/*其中的name值就是我們在struts類Aaction(UserAction)中的findForward中的值,來對映path中的URI為showuser.jsp頁面
這個功能是全域性性頁面,URI對映*/
<action-mappings>
<action path="/addUser" //path為 5 表單中action值
type="package.UserAction"
name="userForm" //form-bean中的name的值
scope=”request“
validate=”/user.jsp“//指定表單的輸入的頁面,也就是 5中的
</action>
<action-mappings>