您好,登錄后才能下訂單哦!
這篇“Struts2中的值堆棧怎么表示”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Struts2中的值堆棧怎么表示”文章吧。
在 struts 2 中,ValueStack 表示一個(gè)Java堆棧,其中包含應(yīng)用程序特定對(duì)象的引用。當(dāng)請(qǐng)求到來(lái)時(shí),首先創(chuàng)建一個(gè) ValueStack 對(duì)象,然后創(chuàng)建 Action、Model 或任何其他 java 資源的對(duì)象。所有這些對(duì)象的引用都保存在 ValueStack 中。
注意:ValueStack 中的對(duì)象可用于 UI 頁(yè)面上的響應(yīng)。ValueStack 在這個(gè)過(guò)程中使用 OGNL。
對(duì)象堆棧:用于包含對(duì)象的引用。
上下文映射:它包含請(qǐng)求參數(shù)、請(qǐng)求屬性、會(huì)話屬性和應(yīng)用程序?qū)傩缘扔成洹?/p>
1. findValue(String expr):通過(guò)對(duì)指定表達(dá)式求值來(lái)找到一個(gè)值。
句法:
公共對(duì)象 findValue(String expr)
2. findString(String expr):通過(guò)對(duì)指定表達(dá)式求值來(lái)查找字符串。
句法:
公共字符串 findString(String expr)
3. peek():給出棧頂?shù)膶?duì)象,不將其從棧中移除。
句法:
公共對(duì)象 peek()
4. pop():給出棧頂?shù)膶?duì)象并將其從棧中移除。
句法:
公共對(duì)象彈出()
5. push(Object o):將指定的對(duì)象放到棧頂。
句法:
公共無(wú)效推送(對(duì)象o)
6. set(String key, Object value):用指定的key在棧上設(shè)置一個(gè)對(duì)象。它可以使用 findValue(key) 檢索。
句法:
公共無(wú)效集(字符串鍵,對(duì)象值)
7. size():它給出了編號(hào)。堆棧中的對(duì)象。
句法:
公共整數(shù)大?。ǎ?/pre>例子:
登錄.jsp
<% @taglib uri = "/struts-tags" prefix = "s" %> < html > < head > < title > Struts 2 ValueStack 示例</ title > </ head > < body > < h3 >這是一個(gè)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 -應(yīng)用程序版本= "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。調(diào)度員。吳。 過(guò)濾器。StrutsPrepareAndExecuteFilter </過(guò)濾器-類(lèi)> </過(guò)濾器> < 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" > <支柱> <包名稱(chēng)= “用戶(hù)” 擴(kuò)展= “struts-default” > <操作名稱(chēng)= “歡迎” 類(lèi)= “com.w3spoint.action.Login” > <結(jié)果名稱(chēng)= “成功” >/歡迎。jsp </結(jié)果> </動(dòng)作> </包> </支柱>登錄.java
導(dǎo)入 java.util.HashMap ; 導(dǎo)入 java.util.Map ; 導(dǎo)入 com.opensymphony.xwork2.ActionContext ; 導(dǎo)入 com.opensymphony.xwork2.util.ValueStack ; /** * 此類(lèi)用作動(dòng)作類(lèi)。 */ public class Login { //數(shù)據(jù)成員 private String userName ; //業(yè)務(wù)邏輯 public String execute ( ) { ValueStack stack = ActionContext. 獲取上下文()。獲取值棧(); Map < String , Object > context = new HashMap < String , Object > ( ) ; 語(yǔ)境。put ( "value1" , new String ( "第一個(gè)值" ) ) ; 語(yǔ)境。put ( "value2" , new String ( "第二個(gè)值" ) ) ; 堆。推(上下文); 返回 “成功” ; } //getter setter public String getUserName ( ) { return userName ; } public void setUserName ( String userName ) { 這個(gè)。用戶(hù)名 =用戶(hù)名; } }歡迎.jsp
<% @taglib uri = "/struts-tags" prefix = "s" %> < html > < head > < title > Struts 2 ValueStack 示例</ title > </ head > < body > < h3 >這是一個(gè)ValueStack例子。</ h3 > < h5 >用戶(hù)名: < s : property value = "userName" /></ h5 > < h5 > Value1 : < s : property value = "value1" /></ h5 > < h5 > Value2 : < s : property value = "值2" /></ h5 > </正文> </ html >輸出:
輸入用戶(hù)名
點(diǎn)擊你好按鈕
以上就是關(guān)于“Struts2中的值堆棧怎么表示”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。