獲取 ValueStack中的資料

2021-08-19 21:09:45 字數 1473 閱讀 9093

預設值棧中的內容如下圖:

在我們不操作值棧時,預設的棧頂物件是當前執行的動作類 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物件 我們通常會寫...