温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Struts2中的值堆栈怎么表示

发布时间:2022-09-29 11:05:48 来源:亿速云 阅读:92 作者:iii 栏目:开发技术

这篇“Struts2中的值堆栈怎么表示”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Struts2中的值堆栈怎么表示”文章吧。

在 struts 2 中,ValueStack 表示一个Java堆栈,其中包含应用程序特定对象的引用。当请求到来时,首先创建一个 ValueStack 对象,然后创建 Action、Model 或任何其他 java 资源的对象。所有这些对象的引用都保存在 ValueStack 中。

注意:ValueStack 中的对象可用于 UI 页面上的响应。ValueStack 在这个过程中使用 OGNL。

ValueStack 的主要部分:

对象堆栈:用于包含对象的引用。

上下文映射:它包含请求参数、请求属性、会话属性和应用程序属性等映射。

ValueStack接口常用方法:

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中的值堆栈怎么表示

输入用户名

Struts2中的值堆栈怎么表示

点击你好按钮

Struts2中的值堆栈怎么表示

以上就是关于“Struts2中的值堆栈怎么表示”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI