这似乎是一个非常简单的问题,但在花了半个小时阅读SO和其他各种网站后,我仍然无法找到解决方案。
我试图从我的网址获取一个参数作为索引来显示数组项:
这将显示我的第一个数组元素(产品列表):
<c:out value="${applicationScope.productList[0]}"/>
我可以通过URL参数以字符串的形式获取索引:
<%= request.getParameter("item") %>
我不确定下一行是否相关,但我可以将字符串转换为int:
<%int no = Integer.parseInt(request.getParameter("item")); %>
但我无法将这些字符串串起来将该参数值转换为int并替换&#34; 0&#34;在带有参数的第一行代码中,我可以在页面中动态加载内容。
我认为以下是解决方案,但它在语法上是不正确的,所以我没有想法(编辑:错过原帖中的结束%。相应地编辑)。
<%int no = Integer.parseInt(request.getParameter("item")); %>
<c:out value="${applicationScope.productList[ <%=no%> ]}"/>
收到的错误是
/bookDetail.jsp(line:16,column:1)&#34; $ {applicationScope.productList [&lt;%= no%&gt;]}&#34;包含无效表达式:javax.el.ELException:无法解析表达式[$ {applicationScope.productList [&lt;%= no%&gt;]}]
非常感谢任何正确方向的推动!
答案 0 :(得分:0)
您可以在 EL (http://www.tutorialspoint.com/jsp/jsp_expression_language.htm)中使用 param 变量来获取请求参数的值。我没有检查,但我认为从String转换为int将由 EL 自动完成。结果你可以写:
<c:out value="${applicationScope.productList[param.parameter]}"/
其中'parameter'是您想要的参数的名称 - 例如param.item,param.mobile,param.page等。