Struts2在頁面中獲得屬性值的原理

2021-04-19 05:52:10 字數 655 閱讀 8072

當我們在action設定了某個屬性後,struts2將這些屬性值全部封裝在乙個叫做struts.valuestack的請求屬性裡,在jsp頁面中輸出需要的請求資訊,我們可以通過request.getattribute("struts.valuestack");來獲取包含全部輸出資訊的valuestack物件。

上面**返回乙個valuestack物件,該物件封裝全部的輸出資訊。該物件是struts2使用的乙個valuestack物件,可以通過ognl表示式非常方便的訪問該物件封裝的資訊。

從資料結構上看,valuestack有點類似於map結構,但它比map結構更強大(因為它可以根據表示式來查詢)。action所有的屬性被封裝到了valuestack物件中,action中的屬性名可以理解為valuestack中的value的名字。

大致了解了valuestack物件結構之後,我們可以通過如下**來獲取action設定的屬性值。

假設action中有乙個名為username的屬性

valuestack vs=(valuestack)request.getattribute("struts.valuestack");

string username=(string)vs.findvalue("username");

輸出action中的username屬性:<%=username%>

Struts2 獲得Servlet 物件

author liuqing datetime 2010 1 3 1.獲得httpservletrequest 物件 getcontext get org.apache.struts2.strutsstatics.http response 2.獲得httpservletresponse物件 get...

Struts2 屬性驅動

在jsp頁面提交到action中的表單元素在action中是以物件的形式存在的,action中的物件name必須與jsp頁面中的表單元素name相同,struts框架自動為action的物件賦值.注意 action中的物件name必須與jsp頁面中的表單元素name相同,struts框架自動為act...

struts2在頁面輸出型別轉換錯誤

一 1 src下新增配置檔案 message.properties key xwork.default.invalid.fieldvalue value 字段 無效 2 在struts.xml配置檔案新增 3 action繼承actionsupport類,這樣就有了預設錯誤return input ...