1.關于Action類
昨天定義的LoginAction類里面有兩個私有字段username和password,以及其get和set方法,這個名字有什么要求嗎?
首先要搞清楚,struts2接受到客戶端請求時會怎么做!當struts2接受客戶端請求時,會調用Action類的setXXX()方法。也就是說struts2會自動調用 setXXX()方法,而不是尋找Action的XXX屬性。
所以,Action的屬性名可以和表單提交的數(shù)據(jù)字段不一樣,但是方法中 setXXX(),getXXX()必須和表單字段一樣。但是一般取名都是和表單字段一樣。
2.struts2是基于請求轉發(fā)的
在昨天的result.jsp頁面中用到了EL表達式,username : ${requestScope.username} password : ${requestScope.password} ,由于struts2是基于請求轉發(fā)的,數(shù)據(jù)由login.jsp輸入,struts2框架攔截請求,分析后轉發(fā)至LoginAction,處理后,再由 struts2轉發(fā)至result.jsp,得到顯示,整個過程是一個請求,所以這個EL表達式中的requestScope可以獲得輸入的數(shù)據(jù)。
3. 程序流程分析
見上一個問題。
記住一點,struts2是請求轉發(fā)(requestDispatch)而不是重定向(rewrite)
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請
點擊舉報。