Java EL-使用请求对象访问applicationScoped hashMap的条目

Java EL-使用请求对象访问applicationScoped hashMap的条目,java,jsp,el,Java,Jsp,El,我在应用程序范围中存储了一个hashmap,我想从输入字符串中传递密钥并检索相应的值ArrayList,然后迭代ArrayList并执行一些操作- HashMap<String,List> envList 我在jsp中定义了一个表单输入变量acno 直观地说,应该支持类似-${applicationScope[envList[param.acno]]}的内容 但这会产生一个错误,我尝试了一些解决方法,例如,将输入设置为页面范围的变量帐户- in

我在应用程序范围中存储了一个hashmap,我想从输入字符串中传递密钥并检索相应的值ArrayList,然后迭代ArrayList并执行一些操作-

           HashMap<String,List> envList
我在jsp中定义了一个表单输入变量acno

直观地说,应该支持类似-${applicationScope[envList[param.acno]]}的内容

但这会产生一个错误,我尝试了一些解决方法,例如,将输入设置为页面范围的变量帐户-

        input ac no. : ${param.acno}
        <c:set var="account" value=" ${param.acno}"/>
        param set : ${account}

         envs -  ${applicationScope[envList[account]]}
         <c:forEach var ="row" items ="${applicationScope.envList[account]}">
          ${row}
         </c:forEach>
它似乎也不起作用, 注意-${applicationScope[envList[AMEX]]}->返回hashmap值,其中AMEX是一个帐户,但我在这里使用变量时出现了问题


以前有人遇到过这样的问题吗?我是JSP的新手,非常感谢您的帮助。

您的表达式试图使用list对象作为applicationScope变量的键,而不是参数值。您需要先从应用程序范围中获取地图,然后才能从地图中获取帐户

${applicationScope['envList'][param.acno]}