You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Francisco Exposito Aguilera <fc...@hotmail.com> on 2007/03/31 12:32:27 UTC

Show info from collection by levels and check data type

Hi all,

In the jsp page I sent a collection which contains integer and string 
values:

[1, "A", 2, "B", 2, "C", 1, "D", 2 , "E", 3, "F", 3, "G"]

In the page I want to obtain the data (strings of the collection) in the 
correct level (integers of the collection)
A
   B
   C
D
   E
      F
      G

In the jsp I have:

<logic:iterate name="estructuraAsociacion" id="estructura">
   //Si el valor de la collection es un integer ????
   <c:set var="espacios" value="${estructura}"/>
   //Fin si el valor de la collection es un integer ????


   //Si el valor de la collection es un string ????
      <tr>
         <td>
            <c:forEach begin="1" end="${espacios}">
               &nbsp
            </c:forEach>
            <c:out value="${estructura}"/>
         </td>
      </tr>
   //Fin si el valor de la collection es un string ????
</logic:iterate>

¿Is this idea correct? If yes, how can I know if the actual value of the 
collection is an integer or a string? If my idea is not correct, could you 
guide me???

Thanks a lot
Regards,
Paco

_________________________________________________________________
Descubre la descarga digital con MSN Music. Más de un millón de canciones. 
http://music.msn.es/


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Show info from collection by levels and check data type

Posted by Francisco Exposito Aguilera <fc...@hotmail.com>.
Really easy with your help!!! Thanks a lot Laurie!


>From: Laurie Harper <la...@holoweb.net>
>Reply-To: "Struts Users Mailing List" <us...@struts.apache.org>
>To: user@struts.apache.org
>Subject: Re: Show info from collection by levels and check data type
>Date: Sat, 31 Mar 2007 16:22:29 -0400
>
>Francisco Exposito Aguilera wrote:
>>Sorry, I forgot to translate some info....
>>
>>Hi all,
>>
>>In the jsp page I sent a collection which contains integer and
>>string values:
>>
>>[1, "A", 2, "B", 2, "C", 1, "D", 2 , "E", 3, "F", 3, "G"]
>>
>>In the page I want to obtain the data (strings of the collection) in
>>the correct level (integers of the collection)
>>A
>>   B
>>   C
>>D
>>   E
>>      F
>>      G
>>
>>In the jsp I have:
>>
>><logic:iterate name="structureAssy" id="structure">
>>   //If the value of the collection is an integer ????
>>   <c:set var="numberOfBlanks" value="${structure}"/>
>>   //End if
>>
>>
>>   //If the value of the collection is a string ????
>>      <tr>
>>         <td>
>>            <c:forEach begin="1" end="${numberOfBlanks}">
>>               &nbsp
>>            </c:forEach>
>>            <c:out value="${structure}"/>
>>         </td>
>>      </tr>
>>   //End if
>></logic:iterate>
>>
>>¿Is this idea correct? If yes, how can I know if the actual value of
>>the collection is an integer or a string? If my idea is not correct,
>>could you guide me???
>>
>>Thanks a lot
>>Regards,
>>Paco
>>
>>
>>>From: "Francisco Exposito Aguilera" <fc...@hotmail.com>
>>>Reply-To: "Struts Users Mailing List" <us...@struts.apache.org>
>>>To: user@struts.apache.org
>>>Subject: Show info from collection by levels and check data type
>>>Date: Sat, 31 Mar 2007 10:32:27 +0000
>>>
>>>Hi all,
>>>
>>>In the jsp page I sent a collection which contains integer and string 
>>>values:
>>>
>>>[1, "A", 2, "B", 2, "C", 1, "D", 2 , "E", 3, "F", 3, "G"]
>>>
>>>In the page I want to obtain the data (strings of the collection) in the 
>>>correct level (integers of the collection)
>>>A
>>>   B
>>>   C
>>>D
>>>   E
>>>      F
>>>      G
>>>
>>>In the jsp I have:
>>>
>>><logic:iterate name="estructuraAsociacion" id="estructura">
>>>   //Si el valor de la collection es un integer ????
>>>   <c:set var="espacios" value="${estructura}"/>
>>>   //Fin si el valor de la collection es un integer ????
>>>
>>>
>>>   //Si el valor de la collection es un string ????
>>>      <tr>
>>>         <td>
>>>            <c:forEach begin="1" end="${espacios}">
>>>               &nbsp
>>>            </c:forEach>
>>>            <c:out value="${estructura}"/>
>>>         </td>
>>>      </tr>
>>>   //Fin si el valor de la collection es un string ????
>>></logic:iterate>
>>>
>>>¿Is this idea correct? If yes, how can I know if the actual value of the 
>>>collection is an integer or a string? If my idea is not correct, could 
>>>you guide me???
>
>I don't think there's any standard 'is integer' test you can apply, and 
>there's no way to make an s:iterator of c:forEach consume two elements from 
>the collection at a time anyway. Given the data structure you're working 
>with, something like this might work:
>
>   <c:forEach var="data" varStatus="status" items="estructuraAsociacion">
>     <c:choose>
>       <c:when test="${status.index % 2 == 0}">
>         <c:set var="indent" value="${data}"/>
>       </c:when>
>       <c:otherwise>
>         <tr><td>... (generate your output)
>       </c:otherwise>
>     </c:choose>
>   </c:forEach>
>
>It would probably simplify things, though, if you made your data structure 
>a list of tuples:
>
>   [[1, "A"], [2, "B"], [2, "C"], ...
>
>which would simplify the logic within your main iteration.
>
>HTH,
>
>L.
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>For additional commands, e-mail: user-help@struts.apache.org
>

_________________________________________________________________
Descubre la descarga digital con MSN Music. Más de un millón de canciones. 
http://music.msn.es/


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Show info from collection by levels and check data type

Posted by Laurie Harper <la...@holoweb.net>.
Francisco Exposito Aguilera wrote:
> Sorry, I forgot to translate some info....
> 
> Hi all,
> 
> In the jsp page I sent a collection which contains integer and
> string values:
> 
> [1, "A", 2, "B", 2, "C", 1, "D", 2 , "E", 3, "F", 3, "G"]
> 
> In the page I want to obtain the data (strings of the collection) in
> the correct level (integers of the collection)
> A
>   B
>   C
> D
>   E
>      F
>      G
> 
> In the jsp I have:
> 
> <logic:iterate name="structureAssy" id="structure">
>   //If the value of the collection is an integer ????
>   <c:set var="numberOfBlanks" value="${structure}"/>
>   //End if
> 
> 
>   //If the value of the collection is a string ????
>      <tr>
>         <td>
>            <c:forEach begin="1" end="${numberOfBlanks}">
>               &nbsp
>            </c:forEach>
>            <c:out value="${structure}"/>
>         </td>
>      </tr>
>   //End if
> </logic:iterate>
> 
> ¿Is this idea correct? If yes, how can I know if the actual value of
> the collection is an integer or a string? If my idea is not correct,
> could you guide me???
> 
> Thanks a lot
> Regards,
> Paco
> 
> 
>> From: "Francisco Exposito Aguilera" <fc...@hotmail.com>
>> Reply-To: "Struts Users Mailing List" <us...@struts.apache.org>
>> To: user@struts.apache.org
>> Subject: Show info from collection by levels and check data type
>> Date: Sat, 31 Mar 2007 10:32:27 +0000
>>
>> Hi all,
>>
>> In the jsp page I sent a collection which contains integer and string 
>> values:
>>
>> [1, "A", 2, "B", 2, "C", 1, "D", 2 , "E", 3, "F", 3, "G"]
>>
>> In the page I want to obtain the data (strings of the collection) in 
>> the correct level (integers of the collection)
>> A
>>   B
>>   C
>> D
>>   E
>>      F
>>      G
>>
>> In the jsp I have:
>>
>> <logic:iterate name="estructuraAsociacion" id="estructura">
>>   //Si el valor de la collection es un integer ????
>>   <c:set var="espacios" value="${estructura}"/>
>>   //Fin si el valor de la collection es un integer ????
>>
>>
>>   //Si el valor de la collection es un string ????
>>      <tr>
>>         <td>
>>            <c:forEach begin="1" end="${espacios}">
>>               &nbsp
>>            </c:forEach>
>>            <c:out value="${estructura}"/>
>>         </td>
>>      </tr>
>>   //Fin si el valor de la collection es un string ????
>> </logic:iterate>
>>
>> ¿Is this idea correct? If yes, how can I know if the actual value of 
>> the collection is an integer or a string? If my idea is not correct, 
>> could you guide me???

I don't think there's any standard 'is integer' test you can apply, and 
there's no way to make an s:iterator of c:forEach consume two elements 
from the collection at a time anyway. Given the data structure you're 
working with, something like this might work:

   <c:forEach var="data" varStatus="status" items="estructuraAsociacion">
     <c:choose>
       <c:when test="${status.index % 2 == 0}">
         <c:set var="indent" value="${data}"/>
       </c:when>
       <c:otherwise>
         <tr><td>... (generate your output)
       </c:otherwise>
     </c:choose>
   </c:forEach>

It would probably simplify things, though, if you made your data 
structure a list of tuples:

   [[1, "A"], [2, "B"], [2, "C"], ...

which would simplify the logic within your main iteration.

HTH,

L.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


RE: Show info from collection by levels and check data type

Posted by Francisco Exposito Aguilera <fc...@hotmail.com>.
Sorry, I forgot to translate some info....

Hi all,

In the jsp page I sent a collection which contains integer and
string values:

[1, "A", 2, "B", 2, "C", 1, "D", 2 , "E", 3, "F", 3, "G"]

In the page I want to obtain the data (strings of the collection) in
the correct level (integers of the collection)
A
   B
   C
D
   E
      F
      G

In the jsp I have:

<logic:iterate name="structureAssy" id="structure">
   //If the value of the collection is an integer ????
   <c:set var="numberOfBlanks" value="${structure}"/>
   //End if


   //If the value of the collection is a string ????
      <tr>
         <td>
            <c:forEach begin="1" end="${numberOfBlanks}">
               &nbsp
            </c:forEach>
            <c:out value="${structure}"/>
         </td>
      </tr>
   //End if
</logic:iterate>

¿Is this idea correct? If yes, how can I know if the actual value of
the collection is an integer or a string? If my idea is not correct,
could you guide me???

Thanks a lot
Regards,
Paco


>From: "Francisco Exposito Aguilera" <fc...@hotmail.com>
>Reply-To: "Struts Users Mailing List" <us...@struts.apache.org>
>To: user@struts.apache.org
>Subject: Show info from collection by levels and check data type
>Date: Sat, 31 Mar 2007 10:32:27 +0000
>
>Hi all,
>
>In the jsp page I sent a collection which contains integer and string 
>values:
>
>[1, "A", 2, "B", 2, "C", 1, "D", 2 , "E", 3, "F", 3, "G"]
>
>In the page I want to obtain the data (strings of the collection) in the 
>correct level (integers of the collection)
>A
>   B
>   C
>D
>   E
>      F
>      G
>
>In the jsp I have:
>
><logic:iterate name="estructuraAsociacion" id="estructura">
>   //Si el valor de la collection es un integer ????
>   <c:set var="espacios" value="${estructura}"/>
>   //Fin si el valor de la collection es un integer ????
>
>
>   //Si el valor de la collection es un string ????
>      <tr>
>         <td>
>            <c:forEach begin="1" end="${espacios}">
>               &nbsp
>            </c:forEach>
>            <c:out value="${estructura}"/>
>         </td>
>      </tr>
>   //Fin si el valor de la collection es un string ????
></logic:iterate>
>
>¿Is this idea correct? If yes, how can I know if the actual value of the 
>collection is an integer or a string? If my idea is not correct, could you 
>guide me???
>
>Thanks a lot
>Regards,
>Paco
>
>_________________________________________________________________
>Descubre la descarga digital con MSN Music. Más de un millón de canciones. 
>http://music.msn.es/
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>For additional commands, e-mail: user-help@struts.apache.org
>

_________________________________________________________________
Descubre la descarga digital con MSN Music. Más de un millón de canciones. 
http://music.msn.es/


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org