tomcat-taglibs-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kris Schneider <k...@dotech.com>
Subject Re: <c:set> and runtime expressions
Date Mon, 03 Apr 2006 13:56:41 GMT
Tarek Nabil wrote:
> So that means if I use the RT-based version, then I won't be able to use
> EL? That's quite strange, because 1.1 could handle both, so it has to be
> doable.

In fact, that's exactly what it means. It's only as of JSP 2.0 that EL 
evaluation is done by the container. This means that both EL expressions 
and JSP expressions can be used as RT attribute values. So, JSTL 1.1 isn't 
really handling anything, it's the JSP 2.0 container. Since JSP 1.2 doesn't 
do EL evaluation, it's up to a taglib (JSTL 1.0, for example) to do it. 
That's why the versions of the JSTL 1.0 taglibs that support EL evaluation 
have attributes with rtexprvalue = false.

> -----Original Message-----
> From: Kris Schneider [mailto:kris@dotech.com] 
> Sent: Monday, April 03, 2006 6:26 AM
> To: Tag Libraries Users List
> Subject: Re: <c:set> and runtime expressions
> 
> If you need to run JSTL 1.0 and want to use JSP expressions as attribute
> 
> values, you need to use the "RT-based" versions. For JSTL, there are 
> basically two distinct versions of each taglib:
> 
> <%@ taglib prefix="c"    uri="http://java.sun.com/jstl/core" %>
> <%@ taglib prefix="c_rt" uri="http://java.sun.com/jstl/core_rt" %>
> 
> If you look at the TLD files for JSTL 1.0, you'll see:
> 
> c.tld:
> ------
>    <tag>
>      <name>set</name>
> ...
>      <attribute>
>          <name>value</name>
>          <required>false</required>
>          <rtexprvalue>false</rtexprvalue>
>      </attribute>
> ...
>    </tag>
> 
> c-rt.tld:
> ---------
>   <tag>
>      <name>set</name>
> ...
>      <attribute>
>          <name>value</name>
>          <required>false</required>
>          <rtexprvalue>true</rtexprvalue>
>      </attribute>
> ...
>    </tag>
> 
> JSTL 1.0 has to handle EL evaluation on its own (it's integrated into
> JSP 
> 2.0 so JSTL 1.1 doesn't need to do the evaluation), so you're forced to 
> make a choice between different taglibs that use EL expressions or JSP 
> expressions.
> 
> Tarek Nabil wrote:
> 
>>Hi everyone,
>>
>> 
>>
>>I was using JSTL 1.1 in my application, and then unfortunately, I had
> 
> to
> 
>>downgrade to 1.0. Now, my IDE is complaining about this line in my JSP
>>
>> 
>>
>>    <c:set var="config" value="<%= Config.getInstance() %>"/>
>>
>> 
>>
>>It says "Attribute value does not accept runtime expressions.
>>
>> 
>>
>>This used to work perfectly when I was using 1.1. I tried to look at
> 
> the
> 
>>changes between 1.1 and 1.0 but I can not see anything related to this
>>issue. Is this really a difference between 1.0 and 1.1 or am I doing
>>something wrong?
>>
>> 
>>
>>Thanks in advance for your help.
> 
> 

-- 
Kris Schneider <mailto:kris@dotech.com>
D.O.Tech       <http://www.dotech.com/>

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


Mime
View raw message