用el表达式怎么取 hashmap的值?(通过键取值)

问题描述

<c:forEach items="${hash}" var="li" varStatus="status2"> <c:if test="${status2.index == 0}"> <th class="column" scope="row"><input type="checkbox" id="recordId" name="recordId" value="${li.get(key)}"/></th> </c:if> <td>${li.value }</td></c:forEach>我是想在checkbox的value里放入指定的值。这个值是从hashmap里面取的 。 根据键可是这样写会报错 。 我知道 在el表达式里hash可以直接 .value .key 但是我要根据 key 来取值怎么弄呢 ? 谢谢 指点一下啊。。。问题补充:JasperException: /select/result.jsp(78,104) "${li.["aii"] }" contains invalid expression(s): javax.servlet.jsp.el.ELException: Encountered "[", expected one of [<IDENTIFIER>]JasperException: /select/result.jsp(78,104) "${hash.["aii"] }" contains invalid expression(s): javax.servlet.jsp.el.ELException: Encountered "[", expected one of [<IDENTIFIER>]JasperException: /select/result.jsp(78,104) "${hash.[aii] }" contains invalid expression(s): javax.servlet.jsp.el.ELException: Encountered "[", expected one of [<IDENTIFIER>]JasperException: /select/result.jsp(78,104) "${hash.['aii'] }" contains invalid expression(s): javax.servlet.jsp.el.ELException: Encountered "[", expected one of [<IDENTIFIER>]JasperException: /select/result.jsp(78,104) "${li.['aii'] }" contains invalid expression(s): javax.servlet.jsp.el.ELException: Encountered "[", expected one of [<IDENTIFIER>]问题补充:不好意思 方括号 [] 好像不行。。。我都试过了。。

解决方案

错误中显示你的用法是${li.["aii"] },没有中间的点的,这么写${li['aii']}
解决方案二:
<input type="checkbox" id="recordId" name="recordId" value="${li['key']}"/>单引号
解决方案三:
引用对于实现 java.util.Map 接口的集合,方括号运算符使用关联的键查找存储在映射中的值。在方括号中指定键,并将相应的值作为表达式的值返回。例如,表达式 ${commands["dir"]} 返回与 commands 标识符所引用的 Map 中的 "dir" 键相关联的值。 引用自[http://www.ibm.com/developerworks/cn/java/j-jstl0211/],也就是:<input type="checkbox" id="recordId" name="recordId" value="${li["key"]}"/>
解决方案四:
<th class="column" scope="row"><input type="checkbox" id="recordId" name="recordId" value="${li[key]}"/></th> 或者是<th class="column" scope="row"><input type="checkbox" id="recordId" name="recordId" value="%{li[key]}"/></th>
解决方案五:
你在后台或者aciton里把Map转成List,在前面直接遍历多好啊?

时间: 2024-11-01 10:14:53

用el表达式怎么取 hashmap的值?(通过键取值)的相关文章

SpringMVC的JSP页面中中EL表达式不起作用的问题解决

今天,我在写SpringMVC代码的时候遇到了一个问题,就是在jsp页面中使用el表达式取值,取不到值,但是使用jsp中嵌套java代码可以取到值. 问题如下图: 起初,我以为是jstl标签没有导入,但是经过检查,并不是这个原因,害我试了好久,还是没改出来.后来上网谷歌搜索一下才发现了问题所在! 解决方法: 在使用el表达式的jsp中配置: <%@page isELIgnored="false" %> 更改后就显示正确,如下: 该设置代表在本jsp中使用el表达式,可以解析

El表达式不起作用

问题描述 用maven创建的项目,在使用到el表达式的时候不起作用,页面上只看到纯el表达式的代码,而不是代表的属性值! 解决方案 解决方案二:头上加<%@pageisELIgnored="false"%>解决方案三:没有遇到过,我们用的SpringMVC,maven工程没有问题的.检查后台传输的对象名称是否一致.解决方案四:1楼正解解决方案五:包没到吧!!!解决方案六:<%@pageisELIgnored="false"%>解决方案七:Qu

el表达式取hashmap中的值

问题描述 el表达式取hashmap中的值 我在hashmap中有一个hashmap,现在我想在jsp中用el表达式取到hashmap集合中的hashmap里的值,请问怎么实现 解决方案 EL表达式取Map中的值 解决方案二: ${hashmap.hashmap.key}

js文件中写el表达式取不到值的原因及解决方法

 在js文件中写el表达式取不到值,百度一下,将经验总结如下,有类似情况的朋友可以参考下 今天在js文件中,写el表达式取不到值(代码如下),百度一翻,现总结如下:    1.javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以取不到值    2.要想获取"${isLogin}"的值,可以在jsp中,用一个全局变量接收,然后再js中使用    3.注意:在使用时,注意要添加双引号,如var isLogin="${isLogin}"; 

jquery-如何用Jquery实现当 vlaue中的el表达式取值为空时 隐藏该这个选项

问题描述 如何用Jquery实现当 vlaue中的el表达式取值为空时 隐藏该这个选项 如何用Jquery实现当 vlaue中的el表达式取值为空时 隐藏该这个选项 <label> <div class="checker "> <input type="checkbox" value="${questionNaireQuestion.option15}">O ${questionNaireQuestion.op

jsp中EL表达式在判断时如何取值呢

问题描述 jsp中EL表达式在判断时如何取值呢 ${users.getUsers_name()!=""?"欢迎你"+${usershttp://ask.csdn.net/questions/238187#.getUsers_name()}:"您还没有登陆,请登录"} 如果登陆成功,我想把用户名也得到,但是不行呢 解决方案 ${ !empty(users.getUsers_name())?"欢迎你${users.getUsers_name

使用el表达式取值时不去掉空格的方法

问题描述 如题 解决方案 解决方案二:求高人解答啊先谢谢了解决方案三:不是表达式去掉了空格,而是html在显示的时候,对连续whitespace(空格.制表符等)只显示1个你可以放到<pre>${yourExpression}</pre>里面看看解决方案四:引用2楼shine333的回复: 不是表达式去掉了空格,而是html在显示的时候,对连续whitespace(空格.制表符等)只显示1个你可以放到<pre>${yourExpression}</pre>里

【java】在jsp的js和css里面使用EL表达式取值|style里面用$取值

众所周知,如果直接在jsp的js或者css语句块里面写${***}取值的话,程序会不识别这玩意,但是,我们有时候确实需要动态取值,比如,js为了获得对象的某一个值,不方便用js的getElementById()方法的话,我们需要这个${**}可能会简便一百倍,那么好吧,我们用jstl标签的<c:out value ='${}'/>来解决这个问题.   例如:我的项目文件里面的jsp页面全部放在工程的WebRoot下的WEB-INF里面,网站发布出去的话,用户是一个页面都看不到的,这更加安全,但

servlet-Servlet中跳转至jsp中如何通过EL表达式取出对象的值

问题描述 Servlet中跳转至jsp中如何通过EL表达式取出对象的值 解决方案 直接这样就可以了:${user.name}假设user对象有一个name属性是你需要的. 解决方案二: 还可以用user.getXxx(),取实体类里面的值 解决方案三: ${user.name},然后在显示层取出它就行了 例如user.setName(model.getName()),这样就可将他持久化到数据库中了; 解决方案四: el表达式${user.xxx}就可以,如果是list或者集合类型,可以用jstl