我必须访问在迭代器内部计算的JSTL变量。
代码摘录:
<c:forEach var="resultBean" items="${resultList}" varStatus="status">
card: ${resultBean.cardNum}
</c:forEach>
我想在scriptlet代码中访问
${resultBean.cardNum}
。我现在正在做的是:<c:forEach var="resultBean" items="${resultList}" varStatus="status">
card: ${resultBean.cardNum}
<c:set var="currentCardNum">${resultBean.cardNum}</c:set>
<%out.write( StringUtils.mask( (String)pageContext.getAttribute("currentCardNum") ) );%>
</c:forEach>
我想跳过在pageContext中设置变量的第三行。不设置就可以达到相同的结果吗?还是我可以使用其他方法?
最佳答案
您可以尝试以下操作:
<%
ResultBean resultBean = (ResultBean) pageContext.getAttribute("resultBean");
out.write( StringUtils.mask( resultBean.getCardNum() ) );
%>
顺便说一句-您可以在resultBean中添加另一种方法-
getMaskedCardNum()
,然后只需将页面${resultBean.maskedCardNum}
放在可读性更高的位置即可。