Struts2 框架学习第四天
2018-03-31 21:40
274 查看
值栈
1 之前在web中,在Servlet 里面进行操作,把数据放到域对象中,在页面使用el表达式获取到,域对象在一定范围内,存值与取值。2 在Struts2 中提供本身一种存储机制,类似于域对象,可以存值与取值
1)在action中吧数据放到值栈里,在页面中获取值栈的数据
3 值栈的存储的位置
1)每次访问action的时候,都会有一个action对象,在每个action里面都有一个值栈对象
4 Servlet和action的区别
1)Servlet:默认在第一次访问的时候创建,创建一次,单实例对象
2)Action:访问时创建,每次访问的时候都会创建,多实例对象。
总结:值栈类似于域对象可以存值与取值,每个action对象中有一个值栈对象
获取值栈对象:
1 使用一个类actionContext类里面的方法得到值栈对象 //获取ActionContext对象 ActionContext context=ActionContext.getContext(); //获取值栈对象
ValueStack stack1=context.getValueStack();
补充:栈:先进后出
值栈的内部结构:
1 值栈分成两部分
1) root 结构 list集合
2) context结构 map集合 key----value
1) value存储的是一些对象的一些引用
2) key 存储的是一些固定的值
向值栈中放数据:
1 第一种:获取值栈的对象,调用值栈对象方法,set
2 第二种:获取值栈对象,调用值栈对象方法push
3 第三种:在action中定义变量,生成action方法***************
在aaction中的成员变量的位置设声明变量,生成get方法,然后在方法内给变量赋值。
向值栈中放对象:
1)定义对象变量
2)生成变量的get方法
3)在执行方法中赋值
向值栈中存放list集合
1)定义list集合变量
privateArrayList<User> list= new ArrayList<User>();
2)生成变量的get方法publicArrayList<User> getList() {returnlist;}
3)在执行的方法里面向list存放值User user1=new User(); User user2=new User(); user1.setAddrest("中国"); //。。。。。。。。。。。 list.add(user1);
list.add(user2);
从值栈中获取数据
使用Struts2 标签加上ognl获取数据
1 获取字符串
privateString username;
public String getUsername() {
return username;}
public String execute() throwsException {
username="itcast";
return "success";
}
<s:debug></s:debug>
<s:property value="username"/>
2获取对象<s:property value="user.username"/> <s:property value="user.password"/> <s:property value="user.addrest"/>private User user=new User(); public User getUser(){ return user; }
user.setAddrest("zhongguo");
user.setPassqord("123");
user.setUsername("wangmeihua");
3获取 list 对象 privateArrayList<User> list= new ArrayList<User>(); public ArrayList<User>getList() { return list;} User user1=newUser(); User user2=newUser(); user1.setAddrest("meiguo"); //。。。。。。。。。。。。。 list.add(user1); list.add(user2);第一种方法 <s:property value="list[0].username"/> <s:property value="list[1].username"/> 第二种方式 <s:iterator value="list"> <!-- 遍历list --> <s:property value="username"/> <s:property value="password"/> </s:iterator> 第三种方式 <s:iterator value="list"var="user"> <s:property value="#user.username"/> <s:property value="#user.password"/> </s:iterator>
相关文章推荐
- JAVA_WEB Struts2学习:使用验证框架进行校验JSP页面元素 反编译工具的配置 Strtuts2 国际化学习
- 框架学习之Struts2 第二节 Action的详解
- 框架学习之Struts2 第六节 输入校验
- Struts2学习笔记9:Struts2的校验框架
- Jimoshi_Struts2 框架学习(一)--通过maven 创建struts2 的项目、处理接收值
- 框架学习之Struts2 第七节 国际化
- Struts2 校验框架学习笔记
- Jimoshi_Struts2 框架学习(二)--action生命周期、struts.xml中全局的配置、获取request和session和response值、IOC思想
- 框架学习第一天——struts2_01
- 学习三大框架Struts2 、 Hibernate 、 Spring时,涉及到三大框架的配置文件以及整合。
- struts2学习(11)struts2验证框架1.验证简介、内置验证
- Slim 框架学习,第四天
- 三大框架学习1——struts2的两个核心配置文件
- 框架-Struts2 学习笔记
- [Struts2 框架学习] Struts2.5 通配符动态方法调用问题
- 【框架学习】Struts2(二)核心文件
- 【框架学习】Struts2(三)功能模块
- Struts2 框架学习第二天笔记
- 框架学习之Spring 第五节 SSH整合开发[Spring2.5+Hibernate3.3+Struts2]
- 框架学习之Spring 第五节 SSH整合开发[Spring2.5+Hibernate3.3+Struts2]