Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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
Jsp EL中的Concatente变量名_Jsp_Jstl_El - Fatal编程技术网

Jsp EL中的Concatente变量名

Jsp EL中的Concatente变量名,jsp,jstl,el,Jsp,Jstl,El,我有5个变量需要在打开的foreach中使用,因此我将每个变量命名为IMG1 IMG2 IMG3 IMG4 IMG5。我想知道如何像这样调用图像的src src="${IMG + index of the foreach}" 因此,这给foreach带来了新的形象 编辑: 我有五个变量 <c:set var="imgPN1" value="23421E1" /> <c:set var="imgPN2" value="32543QS" /> <c:set var=

我有5个变量需要在打开的foreach中使用,因此我将每个变量命名为IMG1 IMG2 IMG3 IMG4 IMG5。我想知道如何像这样调用图像的src

src="${IMG + index of the foreach}" 
因此,这给foreach带来了新的形象

编辑:

我有五个变量

<c:set var="imgPN1" value="23421E1" />
<c:set var="imgPN2" value="32543QS" />
<c:set var="imgPN3" value="23945ZS" />
<c:set var="imgPN4" value="23421E0" />
<c:set var="imgPN5" value="34352WS" />

在一个foreach中,我需要将每个变量放在一个图像src中,问题是我在已经使用的foreach中使用另一个foreach,因为将生成25 img而不是5 img,所以我需要的是,使用varstatus或一些索引,能够在已经创建的foreach中执行类似的操作
因此,它会选择具有正确名称的变量。

在JSP-EL中
+
纯粹用于数字。尝试这样做:

src="${IMG}${index}"

我知道您出于某种原因准备了以下图像:

request.setAttribute("IMG1", img1);
request.setAttribute("IMG2", img2);
request.setAttribute("IMG3", img3);
request.setAttribute("IMG4", img4);
request.setAttribute("IMG5", img5);
要具体回答您的问题,首先需要创建另一个变量,该变量用
表示作用域属性名称,然后可以将其用作所需作用域映射的键,例如请求属性的
${requestScope}


然而,这是一种相当糟糕的做法。这是一个相当笨拙和不合逻辑的方法。在数组或集合中准备这些密切相关的变量会更有意义

String[] images = new String[] { img1, img2, img3, img4, img5 };
request.setAttribute("images", images);
以便您可以按如下方式访问它:


当不在循环中时,您甚至可以直接访问特定索引处的项:



这样做很糟糕。将所有变量放在一个列表中,将列表添加到请求属性中,然后对其进行迭代,你能用一个例子解释一下吗?我会给你一个更好的例子,它有所有的细节。事实上,我不知道它是否会改变什么,但它们已经设置好了,问题是我已经在一个foreach中,所以如果a再次使用foreach,它将再次倍增,并发布25张图片,而不是我需要的5张,我真正需要的是压缩变量名,这样它就调用${IMG+an index},所以当它为每个变量调用时,就会调用每个不同的源。对不起,我不知道你的意思。你试过答案中的密码了吗?你听起来好像不明白,实际上从来没有试过。否则,请编辑您的问题,使其包含一个SSCCE,其中显示了您准备数据的方式以及您希望生成的HTML最终是什么样子。啊,您是否已将它们全部设置为默认范围(即页面范围)中的
?只需在我的回答中使用
${pageScope}
而不是
${requestScope}