預設值棧中的內容如下圖:
在我們不操作值棧時,預設的棧頂物件是當前執行的動作類 action
action類
/**
* 往 valuestack 中壓棧
*@return
*/public string demo3()
user類
public
class
user /customer/demo3.action">clicka>
取值:value="name"/>
s:debug>
body>
struts.xml
name="customer"
extends="mydefault"
namespace="/customer">
name="demo3"
class="com.action.demoaction"
method="demo3">
name="demo3">/demo1.jspresult>
action>
package>
一般情況下,我們都是根據 debug標籤中顯示的property name 來獲取property value。當然我們也可以獲取棧頂物件
獲取資料
使用struts2標籤,根據property name獲取property value
使用ognl的表示式
取出值棧中的值需要用到struts2的標籤,value中寫的是ognl表示式,表示式前面不需要加#號
--%>
獲取指定索引的資料
--%>
如果是獲取contextmap的集合資料,表示式前面就要加#號,獲取valuestack的資料不需要加#號
如果獲取的property name同名,可以通過索引獲取
直接使用獲取的是棧頂的資料
在action類中的方法名盡量不要有get/set
struts2框架會自動載入action類中含有get/set名字的方法到valuestack中
Struts2中valueStack的使用
valuestack主要有兩部分組成 compoundroot 它就是乙個arraylist mapcontext 就是乙個map context中主要儲存了一些引用,這個引用主要是關於web開發中相關資訊 第一種方式 可以直接通過request物件來獲取.1.從request域中獲取valuest...
valuestack的工作原理
當訪問乙個action的時候,此時struts2會把整個action壓入valuestack的頂部,此時valuestack就乙個action物件 我們通常會寫stack.set key1,value1 或者statck.setvalue key2,value2 這兩個是有區別的,前者會在value...
valuestack的工作原理
今天在為同事解決問題的時候,發現了自己以前對valuestack的理解有點偏差,通過問題的解決,也體驗了一把溫故而知新 廢話少說,步入正題 當訪問乙個action的時候,此時struts2會把整個action壓入valuestack的頂部,此時valuestack就乙個action物件 我們通常會寫...