el表达式动态拼接变量
<form action="" id="name_${user.id}"></form>
1.首先分析user对象的问题
看user是否加到了request里面
User u = new User();
u.setId("1");
request.setAttribute("user",u);
且User类里面必须提供public String getId(){return this.id;}
2.el嵌套${${}}嵌套写法是不行的,下面的方法可以实现
(1)先把name_${user.id}的值存到变量myname中
(2)再通过id="${user[myname]}"方式取到name_1的值
html页面代码如下:
1.html1
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var='myname' value="name_${user.id}" scope="page"/>
<form method="get" action="" id="${user[myname]}">
<input type="submit" value="OK"/>
</form>
2.html2
<c:forEach items="${customerAcct }" var="second" varStatus="second_num">
<c:set var='key' value="${second.accountNo}" scope="page" />
<c:if test="${second.accountType == item.accountType }">
<tr id="${num.index}-${num.index}" pid="first_${num.index}" mid="first_${num.index}" nodetype="child_node" style="display: none;">
<td style="cursor: pointer; padding-left: 20px; text-align:center;">${second.platformNo }</td>
<td style="text-align:center;">
</td>
<td align="center"></td>
<td></td>
<td align="center"></td>
<td style="text-align:center;">
${balanceMap[key].result.currBal}
</td>
<td style="text-align:center;">
${balanceMap[key].result.freezeAmt}
</td>
<td style="text-align:center;">
${balanceMap[key].result.availableBal }
</td>
<td style="text-align:center;">
${balanceMap[key].result.lastPeriodBal }
</td>
<td style="text-align:center;">
${balanceMap[key].result.currPeriodBal }
</td>
</tr>
</c:if>
</c:forEach>