从值栈获取List集合
-------------------siwuxie095
从值栈获取 List 集合
1、具体步骤
(1)在 Action 中向值栈放 List 集合
(2)在 JSP 页面中从值栈获取 List 集合
2、具体实现
(1)编写实体类
User.java:
|
package com.siwuxie095.entity; // User 实体类 public class User { private String username; private String password; private String address; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User [username=" + username + ", password=" + password + ", address=" + address + "]"; } } |
(2)编写 Action
ListAction.java:
|
package com.siwuxie095.action; import java.util.ArrayList; import java.util.List; import com.opensymphony.xwork2.ActionSupport; import com.siwuxie095.entity.User; public class ListAction extends ActionSupport { /* * (1) 在 Action 中定义 List 集合对象 * * 因为总归是要 new 的,所以就在这里创 * 建,而不是声明了 */ private List<User> list=new ArrayList<User>(); /* * (2) 提供 List 集合对象的 get 方法即可 */ public List<User> getList() { return list; } @Override public String execute() throws Exception { /* * 如果上面仅仅是声明了List 集合对象, * 那么就要在这里创建,即 new 出来 */ /* * (3) 在执行的方法中,向 List 集合对象中设置值 */ User user1=new User(); user1.setUsername("小白"); user1.setPassword("8888"); user1.setAddress("中国"); User user2=new User(); user2.setUsername("小黑"); user2.setPassword("4444"); user2.setAddress("美国"); list.add(user1); list.add(user2); return SUCCESS; } } |
(3)配置 Action
struts.xml:
|
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="demo" extends="struts-default" namespace="/"> <action name="list" class="com.siwuxie095.action.ListAction"> <result name="success">/list.jsp</result> </action> </package> </struts> |
(4)编写页面
从值栈获取 List 集合的方式共有三种
1)方式一
list.jsp:
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- 引入 Struts2 标签库 --> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>List</title> </head> <body> <!-- 获取值栈中 List 集合的数据 --> <s:property value="list[0].username"></s:property> <s:property value="list[0].password"></s:property> <s:property value="list[0].address"></s:property> <br/> <s:property value="list[1].username"></s:property> <s:property value="list[1].password"></s:property> <s:property value="list[1].address"></s:property> </body> </html> |
2)方式二
list.jsp:
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- 引入 Struts2 标签库 --> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>List</title> </head> <body> <!-- 获取值栈中 List 集合的数据 --> <s:iterator value="list"> <!-- 遍历 List 集合,得到其中的每个 User 对象 --> <s:property value="username"></s:property> <s:property value="password"></s:property> <s:property value="address"></s:property> <br/> </s:iterator> </body> </html> |
3)方式三
list.jsp:
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- 引入 Struts2 标签库 --> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>List</title> </head> <body> <!-- 获取值栈中 List 集合的数据 --> <s:iterator value="list" var="user"> <!-- 遍历 List 集合,得到其中的每个 User 对象 优化机制:把每次遍历出来的 User 对象,放 到 context 中,变成对象引用,再取出 在写 OGNL 表达式时,需要使用特殊符号 # --> <s:property value="#user.username"></s:property> <s:property value="#user.password"></s:property> <s:property value="#user.address"></s:property> <br/> </s:iterator> </body> </html> |
(5)访问路径
http://localhost:8080/工程名/list.action
【made by siwuxie095】
从值栈获取List集合的更多相关文章
- Struts2-从值栈获取list集合数据(三种方式)
创建User封装数据类 public class User { private String username; private String password; public String getP ...
- Struts2_day03--从值栈获取数据_EL表达式获取值栈数据(为什么)
从值栈获取数据 1 使用struts2的标签+ognl表达式获取值栈数据 (1)<s:property value=”ognl表达式”/> 获取字符串 1 向值栈放字符串 2 在jsp使用 ...
- 向值栈放List集合
------------------siwuxie095 向值栈放 List 集合 1.具体步骤 (1)在 Action 中定义 List 集合对象 (2)提供 List 集合对象的 get 方法 ( ...
- Struts2-从值栈中获取数据-EL表达式从值栈获取
从值栈获取数据 1 使用struts2的标签+ognl表达式获取值栈数据 (1)<s:property value=”ognl表达式”/> 获取字符串
- Struts2_day03--课程安排_OGNL概述入门_什么是值栈_获取值栈对象_值栈内部结构
Struts2_day03 上节内容 今天内容 OGNL概述 OGNL入门案例 什么是值栈 获取值栈对象 值栈内部结构 向值栈放数据 向值栈放对象 向值栈放list集合 从值栈获取数据 获取字符串 获 ...
- EL表达式获取值栈数据
---------------------siwuxie095 EL 表达式获取值栈数据 1.导入 JSTL 相关包,下载链接: (1)http://tomcat.apache.org/taglibs ...
- 获取set()和push()方法向值栈放的数据
------------------siwuxie095 获取 set() 方法向值栈放的数据 1.具体步骤 (1)在 Action 中使用 set() 方法向值栈放数据 (2)在 JSP 页面中从值 ...
- [ SSH框架 ] Struts2框架学习之三(OGNl和ValueStack值栈学习)
一.OGNL概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可 ...
- struts2第三天——值栈
大致内容: ognl概述 ognl入门 值栈 一.OGNL概述 OGNL,全称为Object-Graph Navigation Language,对象图导航语言 它是一个功能强大的表达式语言,用来获取 ...
随机推荐
- ThinkTemplate模板引擎的设计和使用方法
在PHP开发的过程中,我们会接触到很多的模板引擎,包括FastTemplate.SmartTemplate.Smarty.tinybutstrong等,通常都是为了满足MVC开发模式的表现层需要,让显 ...
- ssh的时候提示No user exists for uid 501
原来是oh my zash升级导致的.关闭iterm2然后重新打开iterm2就可以了
- Jmeter 接口测试间的引用
Jmeter做接口测试,几乎里面所有的业务实现都依赖登录,我竟然傻不垃圾的每个CASE都写了登录 ......请原谅我的笨 右键 线程组 --> 添加 --> 逻辑控制器 --> ...
- laravel 创建自定义全局函数
全局函数的实现是依靠在初始化的时候,将helps.php或者functions.php直接进行了加载.而Laravel中bootstrap/autoload.php(laravel 5.5 貌似没有这 ...
- (经典)直接插入排序based on 二分查找
#include<stdio.h> // 查找第一个大于key的元素,成功则返回该元素的下标,否则返回数组末元素的下一位 int findFirstLarger(int A[],int n ...
- UVA之1121 - Subsequence
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/SunnyYoona/article/details/25840365 [题目] A sequence ...
- RabbitMQ消息队列安装
[root@VM_119_179_centos ~]# rpm -ivh erlang-19.0.4-1.el6.x86_64.rpm [root@VM_119_179_centos ~]# rpm ...
- Java的序列化算法--解释序列后字节含义
Java的序列化算法 序列化算法一般会按步骤做如下事情: ◆将对象实例相关的类元数据输出. ◆递归地输出类的超类描述直到不再有超类. ◆类元数据完了以后,开始从最顶层的超类开始输出对象实例的实际数据值 ...
- html5播放mp4视频代码
1.nginx支持flv和mp4格式播放 默认yum安装nginx centos7安装nginx时候应该是默认安装nginx_mod_h264_streaming模块的 # nginx -V查看是否安 ...
- mysql-7事务管理
1.事务的使用场景 mysql事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人愿,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数 ...