Map 遍历取值及jstl的取值

Map 遍历取值及jstl的取值

学习了:http://blog.csdn.net/yanjiaye520/article/details/17354239

1、Java map的便利取值
Java代码  收藏代码
Map<String,String> map = new HashMap<String,String>();
map.put("key1", "value1");
map.put("key2", "value2");  

Iterator<Entry<String,String>> iter = map.entrySet().iterator();
while(iter.hasNext()) {
    Entry<String, String> entry = iter.next();
    System.out.println(entry.getKey()+"," + entry.getValue());
}  

Set<Map.Entry<String, String>> entry  = map.entrySet();
for(Map.Entry<String, String> e : entry) {
    System.out.println(e.getKey()+"," + e.getValue());
}  

 2、jstl的迭代取值
     当forEach 的items属性中的表达式的值是Java.util.Map时,则var中命名的变量的类型就是 java.util.Map.Entry。这时var=entry的话,用表达式${entry.key}取得键名。 

  用表达式${entry.value}得到每个entry的值。这是因为java.util.Map.Entry对象有getKey和getValue方法,表达式语言遵守JavaBean的命名约定
Java代码  收藏代码
<c:forEach items="${map}" var="entry">
   <c:out value="${entry.key}" />
   <c:out value="${entry.value}" />
</c:forEach>
 3、jstl根据key取值

一、如果知道key值,${map.key1}
二、如果key值是个变量, 则${map.[key]}, 使用数组访问方式,同样也可以用在知道key   ${map.["key1"]}
三、map
2、根据key变量求值
      如果事先知道key那么很容易根据${map.key值}就可以得到值对象,但是如果key是一个变量呢? 

     有一个问题,如果给定一个key的变量如何使用EL得到对象呢,这里需要使用EL表达式中的[]来解决,
    解决方法如示例:
Java代码  收藏代码
<c:out value="${map[key]}" />  

<!-- 这里的map就是 java.util.Map对像,key是这个map里的一个key -->
时间: 2024-12-17 10:04:59

Map 遍历取值及jstl的取值的相关文章

jstl取整数,jstl表达式取整,fmt:parseNumber格式化小数为整数

用Jstl表达式的fmt:parseNumber格式化小数为整数 <fmt:parseNumber integerOnly="true" value="2/3" /> 结果为0 ---------------------------------其他方法-------------------------------- URI:   http://java.sun.com/jstl/fmt 前缀  : fmt I18N formatting   标签库就是用

jquery data方法取值与js attr取值的区别

<a data-v="3"></a> jquery data方法的运行机制: 第一次查找dom,使用attributes获取到dom节点值,并将其值存到缓存里,第二次操作的时候,还是先找到dom,但是这次取值是直接从缓存读了,少了一步对dom的操作 attr()方法每次都要操作dom,性能上差点儿 $('a').data('v')取到的值是页面初次加载的缓存值,以后如何更改,在页面上都不会改变,但缓存值会变,可以传给i/o请求使用 document.getEle

MVC 从后台页面 取前台页面传递过来的值的几种取法

MVC 从后台页面 取前台页面传递过来的值的几种取法 <1>前台页面 Index视图 注意:用户名表单的name值为txtName 密码表单的name值为txtPassword 1 <html> 2 <head> 3 <meta name="viewport" content="width=device-width" /> 4 <title>Test</title> 5 </head>

通过反射取泛型的项目名称和值

private void GetInfo<T>(T info) { Type t = info.GetType(); System.Reflection.PropertyInfo[] list = t.GetProperties(); // --- 获取项目名称 List<string> nameList = new List<string>(); List<object> valueList = new List<object>(); fore

select 取的是session里面的值时

原来是写了一个select标签,然后用js循环取出来,发现问题是本来嵌在页面右边的页面整个弹出来, 后来改成html:optionsCollection就好了: 效果图: select 取的是session里面的值时

JAVA-读取文件部分内容计算HASH值

对于一些大文件,有时会需要计算部分内容的Hash,下面的函数计算了 文件头尾各1M,中间跳跃100M取10K 以及文件大小的Hash值 public static String CalHash(String path) throws IOException { File file = new File(path); if (!file.canRead()) return ""; if (file.length() < 150 * 1024 * 1024) { return &qu

验证码取不到$_SESSION[&#39;code&#39;]的值,无法进行验证码正误验证问题

关键还是session启动问题.解释如下: //A.php session_start();//打开session 在每个页面使用Session前都需要先session_start $_SESSION['time']=time();//定义Session变量 //B.php session_start();//在B.php session_start先 echo date('Y-m-d H:i:s',$_SESSION['time']);//这里会得到一个时间 echo $_SESSION['t

Java中如何取数据各个位上的值

/思想:取数据各个位上的值需求:在控制台输出所有的"水仙花数"分析:所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身比如:153=111 + 555 + 333/class ForDemo4{public static void main (String[] args){for (int x = 100;x<=999;x++){int ge = x%10; //想要取一个数的个位数值,就用该数对10取余int shi=x/10%10; //想要取一个数的十位数值,就用

WinForm窗体中如何在一个窗体中取到另一个窗体的值

例如我们定义两窗体,Form1和Form2,如何在Form2中取到Form1中的一个值呢? 解决方法: 我们可以在Form2的类MyClass中定义一个静态变量,例如 public static string a = " "; 然后给这个静态变量赋值,例如 a = lblname.text; 由于静态变量的作用范围可以跨类,所以在Form1的方法中我们可以直接使用Form2的类MyClas进行调用Form2的静态变量a MyClass.a; 这样就完成了WinForm中从一个窗体中取得