从值栈获取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,对象图导航语言 它是一个功能强大的表达式语言,用来获取 ...
随机推荐
- Beta阶段第1周/共2周 Scrum立会报告+燃尽图 07
作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2389] 版本控制:https://git.coding.net/liuyy08 ...
- 回测框架pybacktest简介(一)
pybacktest 教程 本教程让你快速了解 pybacktest's 的功能.为此,我们回测精典交易策略移动平均线MA交叉. MA快线上穿慢线时,买进做多 MA快线下穿慢线时,卖出做空 进场规则, ...
- mongodb下cpu高的查询方式(慢查询)
1.查看mongodb进程 ps-ef | grep mongo 获取进程id为3267 2.查看进程的线程 top -p 3267 按shift+h 查看cpu高的线程,发现有线程点用cpu高且cp ...
- html5 data属性的使用
html5 data属性定义和用法 <ul> <li data-animal-type="bird">Owl</li> <li data- ...
- 记 TP-Link 路由器的 WDS 设置
记 TP-Link 路由器的 WDS 设置 有一台旧的 TP-Link 路由器,是以前朋友送的,外壳看起来还不错,也挺新的. 本来已经有一台极路由了,看到信号还是不够好,所以想使用 TP-Link 的 ...
- Linux之 增加swap空间
引言 :有时候我们会遇到安装os时候,swap分区过小,导致某些大软件无法安装的问题.我们可以在linux下增大swap分区的空间. 以下的操作都要在root用户下执行: 0. 记录原 swap 分区 ...
- Linux共享对象之编译参数fPIC(转)
最近在看Linux编程的基础知识,打算对一些比较有趣的知识做一些汇总备忘,本文围绕fPIC展开,学习参考见文末. 在Linux系统中,动态链接文件称为动态共享对象(DSO,Dynamic Shared ...
- PhpStorm 10.0.3 下载安装与汉化
https://www.7down.com/soft/229568.html 2JA97R55MG-eyJsaWNlbnNlSWQiOiIySkE5N1I1NU1HIiwibGljZW5zZWVOYW ...
- 为什么既要有IP地址还要有MAC地址
在脑海中一直有个疑问,在网络上发送信息的时候为什么既要有IP地址还要有MAC地址,IP是唯一的,MAC地址也是唯一的,用一个难道不行么? 既然每个以太网设备在出厂时都有一个唯一的MAC地址了,那为什么 ...
- js基础篇(dom操作,字符串,this等)
首先我们来看这样一道题 <div id='foo' class='aa bb cc'></div>写出如何判断此div中是否含有aa(注:aa成立,aaa不成立) 首先,我们一 ...