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