>                                                       <c:out
> value="${creditApplicationListDto.displayProducts[${key}]}"/>,

I would return a collection from  teh DTO for only true values. The
reason is JSTL cannot invoke the keySet() method on the Map (Since the
method doesn't confine to JavaBean specification)

    public Collection getDisplayProducts() {
       Collection c = new ArrayList();
       if(Boolean.TRUE.equals(this.getBusinessLine())){
           c.add("label.applist.bln");
       }
       if(Boolean.TRUE.equals(this.getBusinessCard())){
           c.add("label.applist.bcard");
       }
       if(Boolean.TRUE.equals(this.getSecuredCard())){
           c.add("label.applist.seccard");
       }
       if(Boolean.TRUE.equals(this.getEquipmentExpress())){
           c.add("label.applist.equipmentExpress");
       }
       if(Boolean.TRUE.equals(this.getSbaLineOfCredit())){
           c.add("label.applist.sBALineOfCredit");
       }
       if(Boolean.TRUE.equals(this.getSbaTermLoan())){
           c.add("label.applist.sBATermLoan");
       }
       if(Boolean.TRUE.equals(this.getBusinessLoan())){
           c.add("label.applist.BusinessLoan");
       }

       if(c.size() < 1 ) {
           c.add("label.applist.NoProducts");
       }
       return c;
   }

<c:forEach items="${creditApplicationListDto.displayProducts}"
var="product" varStatus="status">
  <c:choose>
    <c:when test="${not status.last}">
      <c:out value="${product}"/>,
    </c:when>
  <c:otherwise>
    <c:out value="${product}"/>
  </c:otherwise>
  </c:choose>
</c:forEach>

Assuming that "label.applist.*" is only a key to the actual label in
the properties file you might want to use <fmt:message/> to render the
actual label

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to