JSTL 在 ${ } 中使用 ${ }

JSTL using ${ } within ${ }

我想知道以下是否可行:

<c:forEach var="y" begin="0" end="${amountY }">
            <c:forEach var="x" begin="0" end="${amountX }">

                ${${x }-${y } }
            </c:forEach>
            <br />
        </c:forEach>

我已经设置了一定数量的属性,名称如下:

"an x value" + "-" +"a y value"

foreach 的目的是调用这些属性,但我事先不知道会有多少。

现在我想知道是否有办法用不同的语法来做到这一点,因为它不是这样工作的。

否则,是否可以用字符串填充列表,并让每个字符串成为特定的 html 代码片段。然后 foreaching 该列表以便将字符串实现为 html?可能不是,但 w/e.

你不能像那样嵌套 el 表达式。

首先使用<c:set>创建一个新的EL变量。

<c:set var="name" value="${x}-${y}" />

然后将其作为键来访问特定范围内的属性值,例如${requestScope},或 ${sessionScope},或 ${applicationScope},具体取决于您存储实际值的位置。

例如如果在请求范围内:

${requestScope[name]}

不用说这是一个笨拙的设计。考虑改为使用地图或 bean 的集合。