How do I check to make sure there are any elements in the Map? There is a possibility that the map will be empty.
-------------------- Mick Knutson Wells Fargo Business Direct (415) 222-1020 "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation." -------------------- -----Original Message----- From: Kishore Senji [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 19, 2005 6:49 PM To: Struts Users Mailing List Subject: Re: Help with logic tags, and commas please. On Wed, 19 Jan 2005 18:25:55 -0800, Kishore Senji <[EMAIL PROTECTED]> wrote: > On Wed, 19 Jan 2005 18:49:52 -0600, [EMAIL PROTECTED] > <[EMAIL PROTECTED]> wrote: > > I need to know an additional question: > > You sent me: > > > > <c:forEach items="${sessionScope.auditorList}" var="auditor" > > varStatus="status"> > > > > I need to know if this would be correct as well, where > > creditApplicationListDto.businessLine is a Boolean: > > > > <c:forEach items="${creditApplicationListDto.businessLine}" var="true" > > varStatus="status"> > > Nope. "items" should evaluate to a collection. > In JSTL it would be something like the below code to solve your > problem (I haven't tested it, Just wrote it on top of my head) > > <c:if test="${creditApplicationListDto.businessLine}"> > <bean:message key="label.bln"/> > <c:set var="found" value="true"/> > </c:if> > <c:if test="${creditApplicationListDto.businessCard}"> > <c:choose> > <c:when test="${found}"> > , <bean:message key="label.bcard"/> > </c:when> > <c:otherwise> > <bean:message key="label.bcard"/> > <c:set var="found" value="true"/> > </c:otherwise> > </c:choose> > </c:if> > <c:if test="${creditApplicationListDto.securedCard}"> > <c:choose> > <c:when test="${found}"> > , <bean:message key="label.seccard"/> > </c:when> > <c:otherwise> > <bean:message key="label.seccard"/> > <c:set var="found" value="true"/> > </c:otherwise> > </c:choose> > </c:if> > <c:if test="${creditApplicationListDto.equipmentExpress}"> > <c:choose> > <c:when test="${found}"> > , <bean:message key="label.equipExpress"/> > </c:when> > <c:otherwise> > <bean:message key="label.equipExpress"/> > <c:set var="found" value="true"/> > </c:otherwise> > </c:choose> > </c:if> > > Look how large the chunk of code is. You can also do it like this <% Map map = new HashMap(); if(creditApplicationListDto.getBusinessLine()){ // assuming that you make the "creditApplicationListDto" available as a scripting variable map.put("label.bln", creditApplicationListDto.getBusinessLine()); } if(creditApplicationListDto.getBusinessCard()){ map.put("label.bcard", creditApplicationListDto.getBusinessCard()); } if(creditApplicationListDto.getSecuredCard()){ map.put("label.seccard", creditApplicationListDto.getSecuredCard()); } if(creditApplicationListDto.getEquipExpress()){ map.put("label.equipExpress", creditApplicationListDto.getEquipExpress()); } pageContext.setAttribute("map", map); %> <c:forEach items="${map.keySet}" var="key" varStatus="status"> <c:choose> <c:when test="${not status.last}"><bean:write message="${map[${key}]}"/>, </c:when> <c:otherwise><bean:write message="${map[${key}]}"/></c:otherwise> </c:choose> </c:forEach> All we did here is to create a collection which holds only the "true" values. Note that you can do this in the DTO if you want to and expose the collection through a getter > Better way of doing it is by > having some sort of an utility method or using a tag as "Jim" > suggested > > > > > -------------------- > > Mick Knutson > > Wells Fargo Business Direct > > (415) 222-1020 > > > > "This message may contain confidential and/or privileged information. If > > you are not the addressee or authorized to receive this for the addressee, > > you must not use, copy, disclose, or take any action based on this message > > or any information herein. If you have received this message in error, > > please advise the sender immediately by reply e-mail and delete this > > message. Thank you for your cooperation." > > -------------------- > > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > Sent: Friday, January 14, 2005 11:18 AM > > To: Struts Users Mailing List > > Subject: Re: Help with logic tags, and commas please. > > > > Not exactly the same, since I have use of a list but here's how I handled > > it in JSTL... > > > > <c:forEach items="${sessionScope.auditorList}" var="auditor" > > varStatus="status"> > > > > <c:if test="${!status.last}"> > > <c:out value="${auditor.name}"/>,  > > </c:if> > > > > <c:if test="${status.last}"> > > <c:out value="${auditor.name}"/> > > </c:if> > > > > </c:forEach> > > > > Bart > > > > <[EMAIL PROTECTED]> wrote on 01/14/2005 02:04:07 PM: > > > > > I have the following code that prints something like this: > > > BLN, BCard, SecCard, EquipExp > > > > > > There may be any combination of any of these 4 items, or non at all. > > > And what I want is the ability to properly add commas after each > > > item, or not print a comma if there is not an item: > > > > > > <logic:equal name="creditApplicationListDto" property="businessLine" > > > value="true"> > > > <bean:message key="label.bln"/> , > > > </logic:equal> > > > <logic:equal name="creditApplicationListDto" property="businessCard" > > > value="true"> > > > <bean:message key="label.bcard"/> , > > > </logic:equal> > > > <logic:equal name="creditApplicationListDto" property="securedCard" > > > value="true"> > > > <bean:message key="label.seccard"/> , > > > </logic:equal> > > > <logic:equal name="creditApplicationListDto" > > > property="equipmentExpress" value="true"> > > > <bean:message key="label.equipExpress"/> > > > </logic:equal> > > > > > > > > > -------------------- > > > Mick Knutson > > > Wells Fargo Business Direct Information Systems > > > (415) 222-1020 > > > > > > "This message may contain confidential and/or privileged > > > information. If you are not the addressee or authorized to receive > > > this for the addressee, you must not use, copy, disclose, or take > > > any action based on this message or any information herein. If you > > > have received this message in error, please advise the sender > > > immediately by reply e-mail and delete this message. Thank you for > > > your cooperation." > > > -------------------- > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]