EL表达式怎么获取Map的动态key的方法:根据另外一个对象的id作为key来put,或者更加复杂的组合id+"string"作为一个key。
举例如下:
假设有一个情景:我们后台返回一个对象的list,我们根据对象的id作为key放一些关键的值作为value存入Map中。而前台负责显示Map中的关键指标。
我们的目的就是将大于80分的同学显示评级为良。接下来是前端的处理,先引入,标签。
大概就是这样子。如果map的key是一个复杂的组合,例如map(sgetId()+"-3班","良");这样子要获取key的话同样是上面的代码。
备注:如果要对字符串做更复杂的 *** 作,可以自己做标签库,或者使用<%@ taglib uri=">
EL 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。
package test;import javautil;/ 取得Map中的key的集合用的方法是keySet,返回的是Set,
取得Map中的value的集合用的方法是values,返回的是Collect。
值得一提的是,本题中是HashMap,如果改为TreeMap,keySet()方法返回的便会按着字母顺序排列,原因很简单,因为在TreeMap中即时按着这个顺序排列的。
/public class Test_Map {public static void main(String[] args) throws Exception {
Map map = new HashMap();
mapput("one", 1);mapput("two", 2);
mapput("three", 3);
//得到value的方法
Systemoutprintln("========得到value的方法========");
Collection c = mapvalues();
Systemoutprintln(c);
Iterator iter1 = (Iterator)mapvalues()iterator();
while(iter1hasNext()){
Systemoutprintln(iter1next());}//得到key的方法
Systemoutprintln("========得到key的方法========");
Collection s = mapkeySet();
Systemoutprintln(s);
Iterator iter2 = (Iterator)mapkeySet()iterator();
hm已是一个HashMap的引用。 如果你知道当前的这个key,可以通过hmget(key)方法来获得value。 获得key的方法hmkeySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。 具体可以结合以下例子看看,里面有个迭代器用于遍历的。
hm已是一个HashMap的引用。 如果你知道当前的这个key,可以通过hmget(key)方法来获得value。 获得key的方法hmkeySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。 具体可以结合以下例子看看,里面有个迭代器用于遍历的。 Set<Integer> s=hmkeySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。 Iterator<Integer> it=siterator();//获得一个迭代器引用it,通过siterator方法好比使“指针”指向 //set里面的第一个元素的位置 while(ithasNext())//set里面如果有下一个 { Integer key=itnext();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个 Systemoutprintln(hmget(key));//利用hmget(key)方法获得该key对应的value }
以上就是关于EL表达式怎么获取Map的动态key全部的内容,包括:EL表达式怎么获取Map的动态key、在map集合中通过value怎么得到key、如何取出 Map中key和value的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)