Re: jstl not working for me

"Sasvata (Shash) Chatterjee" <[email protected]> Tue, 24 May 2005 13:43:01 -0500
Newsgroups gmane.comp.java.keel.devel
Message-ID <[email protected]>
Gene,

Can you try:

    <c:if test="${! empty header}">
           <tr>
       <c:if test="${! header.map['nested'].empty}">
       not empty
       </c:if>
       <c:if test="${header.map['nested'].empty}">
       empty
       </c:if>
        </tr>
    </c:if>

If that works, the explanation might be that since we are actually 
returning an ArrayList instead of a List directly, JSTL isn't working 
(evidently it only supports List and Map). The code above is supposed to 
use the "empty" property (or isEmpty() method) of ArrayList.  If the 
code above works, we should probably change line 69 in 
ResponseElementDynaBean from:
            ArrayList newNested = new ArrayList();
to
            List newNested = new ArrayList();

If that doesn't work, I'm stumped as well.  If it does work, I'll still 
be stumped since ArrayList does implement List (I guess we could look at 
JSTL code to see what the heck it is doing).

Shash

Gene McCullough wrote:

> Actually, I had, but had caught that one.  As you said, no error 
> messages, you just get the <c:if... tags showing up in your html.
>
> I'm stumped.  The code works for the menu outputs, and my model is 
> adding the nested outputs with the add method (the only way I know 
> to), and they show up using the struts taglib.
>
> i'll keep hacking
> thanks Louis
> gene
>
> Louis Moore wrote:
>
>> Sorry if this is too obvious, but did you forget to
>> add the taglib declaration to your jsp?
>> <%@ taglib uri="http://java.sun.com/jsp/jstl/core"
>> prefix="c"%>
>>
>> That's bitten me before, cuz it doesn't give you any
>> helpful error messages or anything.
>>
>> -Lou
>>
>> --- Gene McCullough <[email protected]> wrote:
>>
>>> I have this code in my jsp (ought to look familiar,
>>> i think i robbed it from app-crud at one point)
>>>
>>>         <logic:present name="header">
>>>            <tr>
>>>            <logic:iterate id="eachHeader"
>>> name="header" property="nested">
>>>               <td>
>>>               <logic:present name="eachHeader"
>>> property="attributes.sort">
>>>                 <keel:command link="true"
>>> name="eachHeader" property="attributes.sort">
>>>                 <strong><bean:write
>>> name="eachHeader"/></strong>
>>>                 </keel:command>
>>>               </logic:present>
>>>
>>>               <logic:notPresent name="eachHeader" 
>>> property="attributes.sort">
>>>                   <strong><bean:write
>>> name="eachHeader"/></strong>
>>>               </logic:notPresent>
>>>               </td>
>>>            </logic:iterate>
>>>            </tr>
>>>         </logic:present>
>>>
>>> That produces the desired results.
>>>
>>> Adding the following directly beneath in the same
>>> page produces the empty output.  Any suggestions?
>>>
>>>     <c:if test="${! empty header}">
>>>            <tr>
>>>        <c:if test="${! empty header.map['nested']}">
>>>        not empty
>>>        </c:if>
>>>        <c:if test="${empty header.map['nested']}">
>>>        empty
>>>        </c:if>
>>>         </tr>
>>>     </c:if>
>>> I also tried with header.map.nested, as in the
>>> menubar.jsp, with the same results.  the struts tags above can find the
>>> outputs, can you see what I'm doing wrong with the jstl?
>>>
>>> TIA
>>> gene
>>> http://keelframework.org/documentation.shtml
>>> Keelgroup mailing list
>>> [email protected]
>>>
>>
>> http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com
>>
>> http://keelframework.org/documentation.shtml
>> Keelgroup mailing list
>> [email protected]
>> http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com
>>
> http://keelframework.org/documentation.shtml
> Keelgroup mailing list
> [email protected]
> http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com



http://keelframework.org/documentation.shtml
Keelgroup mailing list
[email protected]
http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com