更新时间:2022-06-22 10:45:31 来源:极悦 浏览780次
在 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中的值堆栈”介绍,大家如果对此比较感兴趣,想了解更多相关知识,不妨来关注一下极悦的Struts2视频教程,里面的课程内容细致全面,通俗易懂,很适合没有基础的小白学习,希望对大家能够有所帮助哦。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习