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; /* * ...
随机推荐
- Python3基础 raise + 指定类型异常+异常的解释 产生特定类型异常
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- SpringMVC 原理和流程
请求到来时,第一个接受这个请求的前端控制器叫DispatcherServlet(这个需要在web.xml中配置),后端控制器叫Controller. 简化版流程: 1.spring mvc将所有的请求 ...
- Python中通过多个字符分割(split)字符串的方法--转载
Python中字符串自带的split方法一次只能使用一个字符对字符串进行分割,但是python的正则模块则可以实现多个字符分割 import re re.split('_#|','this_is#a| ...
- URI,URL与URN的区别
2017-11-13 16:51:49 URI = Universal Resource Identifier 统一资源标志符 URL = Universal Resource Locator 统一资 ...
- hdu1517找规律
挺像巴什博弈的,直接递推就能找到规律了,从2开始到9,s win,10到18,o win,18到162,s win,一直向下推进 #include<map> #include<set ...
- UVA-10369 Arctic Network (最小生成树)
题目大意:n个村庄的坐标已知,现在要架光纤使所有的村庄都能上网,但受光纤的参数d所限,每根光纤只能给距离不超过d的村庄之间连接.但是有s个信号机,信号机之间能无限畅连.考虑到光纤的价格和参数d有关,现 ...
- poj 1789 Truck History 最小生成树 prim 难度:0
Truck History Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 19122 Accepted: 7366 De ...
- BootStrap使用
BootStrap简单使用 <深入理解BootStrap>这本书对BootStrap进行了全面的讲解包括设计思想以及源码解析对没有接触过的很有帮助 BootStrap可以说是最简单的一类框 ...
- 分析公司shareaholic报告:Chrome浏览器使用量居首
社交分析公司Shareaholic周四发布研究报告称,今年9月份,Chrome浏览器的使用量已经跃居行业榜首. 根据Shareaholic的数据,Chrome今年9月的使用量超过了火狐.IE和Oper ...
- 解析xml(当节点中有多个子节点)
概要:解析一个xml,当一个节点中又包含多个子节点如何解析,对比一个节点中不包括其他节点的情况. 一,xml样例 <cisReports batNo="查询批次号" unit ...