Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 串联JSTL_Java_Jsp_Jstl_El - Fatal编程技术网

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}