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