Java 串联JSTL
我在控制器中有一个Java 串联JSTL,java,jsp,jstl,el,Java,Jsp,Jstl,El,我在控制器中有一个HashMap: HashMap<String, ArrayList<String> map = new HashMap<String, ArrayList<String>(); HashMap我想这很简单: 请注意带引号和不带引号的区别: ${testing[list.item]}相当于testing.get(list.getItem()) ${testing['list.item']}相当于testing.get(“list.it
HashMap
:
HashMap<String, ArrayList<String> map = new HashMap<String, ArrayList<String>();
HashMap我想这很简单:
请注意带引号和不带引号的区别:
${testing[list.item]}
相当于testing.get(list.getItem())代码>
${testing['list.item']}
相当于testing.get(“list.item”)代码>李>
请注意:
- 您不需要指定访问属性的作用域,除非在不同的作用域中存在同名冲突。因此,
“${requestScope.list}”
可以更改为${list}
,“${requestScope.map}”
可以更改为${map}
- 请为外部循环的
var
属性使用其他名称。可以是列表项
而不是列表
- 无需将
映射设置为其他变量。不需要
。您可以直接访问map
属性的属性
因此,可以将循环修改为:
中的代码不是JSTL,而是JSTL。您不需要c̶o̶n̶c̶a̶t̶e̶n̶a̶t̶e̶嵌套EL${/code>表达式,只需干净地添加它即可
知道了这一点,表达式${testing['${list.item}]}
将是${testing[list.item]}
但是请注意,这不是您真正想要/需要的,除非测试
确实是一个映射
,否则您将得到意外的结果。从上面的代码中,假设requestScope.list
是一个list
,那么代码将是:
请注意,${list}
与${requestScope.list}
相同,假设在页面、会话或应用程序范围中都没有列表
属性,类似于${map}