您好,登錄后才能下訂單哦!
這篇“Struts2中的值堆棧怎么表示”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Struts2中的值堆棧怎么表示”文章吧。
在 struts 2 中,ValueStack 表示一個Java堆棧,其中包含應用程序特定對象的引用。當請求到來時,首先創建一個 ValueStack 對象,然后創建 Action、Model 或任何其他 java 資源的對象。所有這些對象的引用都保存在 ValueStack 中。
注意:ValueStack 中的對象可用于 UI 頁面上的響應。ValueStack 在這個過程中使用 OGNL。
對象堆棧:用于包含對象的引用。
上下文映射:它包含請求參數、請求屬性、會話屬性和應用程序屬性等映射。
1. findValue(String expr):通過對指定表達式求值來找到一個值。
句法:
公共對象 findValue(String expr)
2. findString(String expr):通過對指定表達式求值來查找字符串。
句法:
公共字符串 findString(String expr)
3. peek():給出棧頂的對象,不將其從棧中移除。
句法:
公共對象 peek()
4. pop():給出棧頂的對象并將其從棧中移除。
句法:
公共對象彈出()
5. push(Object o):將指定的對象放到棧頂。
句法:
公共無效推送(對象o)
6. set(String key, Object value):用指定的key在棧上設置一個對象。它可以使用 findValue(key) 檢索。
句法:
公共無效集(字符串鍵,對象值)
7. size():它給出了編號。堆棧中的對象。
句法:
公共整數大小()
登錄.jsp
<% @taglib uri = "/struts-tags" prefix = "s" %> < html > < head > < title > Struts 2 ValueStack 示例</ title > </ head > < body > < h3 >這是一個ValueStack例子。</ h3 > < s : form action = "welcome" > < s : textfield name = "userName" label = "UserName" /> < s :提交值= "Hello" align = "center" /> </ s : form > </正文> </ html >
web.xml
<? xml 版本= "1.0"編碼= "UTF-8" ?> < web -應用程序版本= "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns : xsi = "http: //www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > < filter > < filter - name > struts2 </ filter - name > < filter - class > org. 阿帕奇_ 支柱2。調度員。吳。 過濾器。StrutsPrepareAndExecuteFilter </過濾器-類> </過濾器> < filter - mapping > < filter - name > struts2 </ filter - name > < url - pattern > /*</url-pattern> </filter-mapping> <歡迎文件列表> <welcome-file>login.jsp</welcome-file> </welcome-file-list></web-app>
struts.xml
<! DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > <支柱> <包名稱= “用戶” 擴展= “struts-default” > <操作名稱= “歡迎” 類= “com.w3spoint.action.Login” > <結果名稱= “成功” >/歡迎。jsp </結果> </動作> </包> </支柱>
登錄.java
導入 java.util.HashMap ; 導入 java.util.Map ; 導入 com.opensymphony.xwork2.ActionContext ; 導入 com.opensymphony.xwork2.util.ValueStack ; /** * 此類用作動作類。 */ public class Login { //數據成員 private String userName ; //業務邏輯 public String execute ( ) { ValueStack stack = ActionContext. 獲取上下文()。獲取值棧(); Map < String , Object > context = new HashMap < String , Object > ( ) ; 語境。put ( "value1" , new String ( "第一個值" ) ) ; 語境。put ( "value2" , new String ( "第二個值" ) ) ; 堆。推(上下文); 返回 “成功” ; } //getter setter public String getUserName ( ) { return userName ; } public void setUserName ( String userName ) { 這個。用戶名 =用戶名; } }
歡迎.jsp
<% @taglib uri = "/struts-tags" prefix = "s" %> < html > < head > < title > Struts 2 ValueStack 示例</ title > </ head > < body > < h3 >這是一個ValueStack例子。</ h3 > < h5 >用戶名: < s : property value = "userName" /></ h5 > < h5 > Value1 : < s : property value = "value1" /></ h5 > < h5 > Value2 : < s : property value = "值2" /></ h5 > </正文> </ html >
輸出:
輸入用戶名
點擊你好按鈕
以上就是關于“Struts2中的值堆棧怎么表示”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。