如何在表达式语言中动态填充值?

时间:2014-04-09 08:51:30

标签: java jsp

<%for(int i = 1; i < pl.getNoOfSegments(); i++){
%>
    <list:column column="segment<c:out value="${i}"/>_value"  titleKey="${pickList.pickListSegment.segment1Label}"  searchType="input" type="nstring"/>
<%
}
%>

在上面的场景中,我想填充列的值和titleKey,但我无法使用${i} EL并且它不会给出任何已终止的错误。对于titleKey segment1Label,即1,我想用I值替换但不能这样做?

1 个答案:

答案 0 :(得分:0)

我也是EL / scriplets的新手,所以这可能不是最好的方法。 你可以做的是定义一个var并手动递增它,使它具有与i相同的值。

<c:set var="count" value="1" scope="page" />  //define your variable here
<%
    for(int i=1;i<pl.getNoOfSegments();i++){
%>                      
       <c:out value="${count} test"/>            // ${count} here has the same value as i

       <c:set var="count" value="${count + 1}" scope="page" /> //increment count
<%
    }
%>

或者,您可以使用JSTL标记,例如:

,而不是使用Scriptlet
<c:forEach begin="1" end="${passedAttr}" varStatus="loop">