OGNL遍历list、map的常用三种方法
package com.mylife.po; public class User { private String uname;
private String pwd;
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
以上是po类。
以下是jsp页面的具体ognl操作。
<%@page import="com.mylife.po.User"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'tags.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> <%
String id =request.getParameter("id");
request.setAttribute("id", id); User u1=new User();
u1.setUname("cherry_1");
u1.setPwd("33");
User u2=new User();
u2.setUname("cherry_2");
u2.setPwd("23");
User u3=new User();
u3.setUname("cherry_3");
u3.setPwd("43"); List list=new ArrayList();
list.add(u1);
list.add(u2);
list.add(u3);
request.setAttribute("list", list); Map map = new HashMap();
map.put("u1", u1);
map.put("u2", u2);
map.put("u3", u3);
request.setAttribute("map", map); %>
</head> <body> <h1>测试</h1>
<s:if test="#request['id'] >= 18">年龄达标</s:if>
<s:else>年龄不合格</s:else> <hr size="4" color="blue">
<h2 style="color: red"> 迭代list-1:</h2>
<s:iterator value="#request['list']" var="u">
<s:property value="#u.uname"/>
</s:iterator> <hr size="4" color="blue">
<h2 style="color: red">迭代list-2:</h2>
<s:iterator value="#request['list']">
<s:property value="pwd"/>
</s:iterator> <hr color="blue" size="5">
<h2 style="color: red">迭代list-3:</h2>
<s:iterator begin="0" end="#request['list'].size()-1" var="i">
<s:property value="#request['list'].get(#i).uname"/>
</s:iterator> <hr color="blue" size="5">
<h2 style="color: red"> 迭代map-1:</h2>
<s:iterator value="#request['map']">
<s:property value="key"/>---->
<s:property value="value.uname"/>,
<s:property value="value.pwd"/><br>
</s:iterator> <hr color="blue" size="5">
<h2 style="color: red"> 迭代map-2:</h2>
<s:iterator value="#request['map'].keySet()" var="i">
<s:property value="#i"/>-->>>
<s:property value="#request['map'].get(#i).uname"/>,
<s:property value="#request['map'].get(#i).pwd"/><br>
</s:iterator> <hr color="blue" size="5">
<h2 style="color: red"> 迭代map-3:</h2>
<s:iterator value="#request['map'].entrySet()" var="e">
<s:property value="#e.getKey()"/>-->>
<s:property value="#e.getValue().uname"/>,
<s:property value="#e.getValue().pwd"/><br>
</s:iterator> </body>
</html>
OGNL遍历list、map的常用三种方法的更多相关文章
- (转)在网页中JS函数自动执行常用三种方法
原文:http://blog.sina.com.cn/s/blog_6f6b4c3c0100nxx8.html 在网页中JS函数自动执行常用三种方法 在网页中JS函数自动执行常用三种方法 在HTML中 ...
- 在网页中JS函数自动执行常用三种方法
在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: <SCRIPT LANGUAGE="JavaScript"> function ...
- Map循环的三种方法
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class MapTest { pu ...
- 产生冠军(set,map,拓扑结构三种方法)
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 网页中JS函数自动执行常用三种方法
(1)最简单的调用方式,直接写到html的body标签里面: <body onload="myFunction()"></body> ...
- Java原来如此-遍历Map的三种方法
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; pub ...
- (转载)Java中如何遍历Map对象的4种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- 两个Map的对比,三种方法,将对比结果写入文件。
三种方法的思维都是遍历一个map的Key,然后2个Map分别取这2个Key值所得到的Value. #第一种用entry private void compareMap(Map<String, S ...
- List遍历三种方法:1.for 2.增强性for 3.迭代器
package chapter09; import java.util.ArrayList;import java.util.Iterator;import java.util.List; /* * ...
随机推荐
- Python学习札记(四十二) IO 2
参考:StringIO和BytesIO NOTE 1.StringIO: 顾名思义就是在内存中读写str. #!/usr/bin/env python from io import BytesIO a ...
- UVa 12549 机器人警卫(最小点覆盖)
https://vjudge.net/problem/UVA-12549 题意: 在一个Y行X列的网格里有空地(.),重要位置(*)和障碍物(#),用最少的机器人看守所有重要位置,每个机器人要放在一个 ...
- Eclipse插件Fat Jar
1.安装 1)Eclipse在线更新方法 Help > Install New Software > Add, name:Fat Jar location:http://kurucz-gr ...
- 2019年,给JAVA程序员六个建议
1.深入学习一项技能 或许你学习了很多各种高大上的框架与知识点,对其都了解一二,那么你的视野是很广的,但是这并不能很稳妥的为你的未来带来更好的提升,正如18年末的程序员寒季,大批程序员被辞,我想我们应 ...
- 雷林鹏分享:Ruby 数据库访问 - DBI 教程
Ruby 数据库访问 - DBI 教程 本章节将向您讲解如何使用 Ruby 访问数据库.Ruby DBI 模块为 Ruby 脚本提供了类似于 Perl DBI 模块的独立于数据库的接口. DBI 即 ...
- Android之Glide(非常好用的图片加载框架)
谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech. Glide是一种快速.高效的开源媒体管理和Android的包裹mediadecoding图像加载框架,内 ...
- 个人知识管理系统Version1.0开发记录(04)
demo model 我们采用mvc软件架构模式,方便以后用Struts2框架技术优化.重构.封装.这次主要设计一些常用的方法工具,即数据访问逻辑.工具:eclipse.oracle.sqldevel ...
- mysql迁移oracle
有很多应用项目, 刚起步的时候用MYSQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MYSQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有把数据从MYSQL迁到Orac ...
- POJ 3278 Catch That Cow bfs 难度:1
http://poj.org/problem?id=3278 从n出发,向两边转移,为了不使数字无限制扩大,限制在2*k以内, 注意不能限制在k以内,否则就缺少不断使用-1得到的一些结果 #inclu ...
- javascript递归导致的堆栈溢出
function foo() {foo(); //setTimeout(foo, 0); } foo() 原因是每次执行代码时,都会分配一定尺寸的栈空间(Windows系统中为1M),每次方法调用 ...