①valuestack貫穿整個action的生命週期,儲存在request域中,所以valuestack的宣告週期和request的生命週期是一樣的。當struts2接受乙個請求時,會迅速建立actioncontext、action、valuestack,然後把action存放進valuestack中,所以action的例項變數可以被ognl表示式訪問。請求來的時候,action、valuestack的生命週期開始,請求結束時,action、valuestack的生命週期結束。
②action是多例的,和servlet不一樣,servlet是單例的。
③每個action都有乙個對應的值棧,值棧存放的資料型別是該action的例項以及該action中的例項變數,action物件預設儲存到棧頂。
④action物件其實就是個arraylist集合;
⑤關於contextmap,strust2會把一下的對映壓入contextmap中。
parametres:該map中包含當前請求的請求引數;
request:該map中包含當前request物件中的所有屬性;
session:該map中包含當前session物件中的所有屬性;
⑦注意:struts2中,ognl表示式需要配合struts2標籤才可以使用。
⑧在struts2的配置檔案中引用ognl表示式,引用值棧的值,此時使用「$」;
valuestack的工作原理
當訪問乙個action的時候,此時struts2會把整個action壓入valuestack的頂部,此時valuestack就乙個action物件 我們通常會寫stack.set key1,value1 或者statck.setvalue key2,value2 這兩個是有區別的,前者會在value...
valuestack的工作原理
今天在為同事解決問題的時候,發現了自己以前對valuestack的理解有點偏差,通過問題的解決,也體驗了一把溫故而知新 廢話少說,步入正題 當訪問乙個action的時候,此時struts2會把整個action壓入valuestack的頂部,此時valuestack就乙個action物件 我們通常會寫...
valuestack的工作原理
今天在為同事解決問題的時候,發現了自己以前對valuestack的理解有點偏差,通過問題的解決,也體驗了一把溫故而知新 廢話少說,步入正題 當訪問乙個action的時候,此時struts2會把整個action壓入valuestack的頂部,此時valuestack就乙個action物件 我們通常會寫...