tomcat-taglibs-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tarek Nabil" <Tarek.Na...@tco.ae>
Subject RE: <c:set> and runtime expressions
Date Tue, 04 Apr 2006 05:25:03 GMT
Thanks a lot Kris for the explanation.

Actually, I'm starting to feel that moving to JSTL 1.0 was not such a
wise move. There are a lot of things that I used to be able to do with
the Struts tag libraries that I can not do with JSTL. One of them is the
example I mentioned. Currently, the only work around for me is to do
this

<%
Config config = Config.getIntance();
%>

And then use config in later EL expressions. This is exactly what I
don't want to do, but unfortunately, it seems there's no other way
around it.

I'm starting to feel that JSTL has some severe limitations. Even with
1.1, I ran before into the problem of not being able to use constants.
Someone on this list kindly suggested the non standard tag library, but
the way it works (I guess) is that it uses reflection to expose those
static fields as properties, which is a very artificial solution. I
mean, why isn't this supported by default? I believe this is a question
for the JSR experts to answer.

-----Original Message-----
From: Kris Schneider [mailto:kris@dotech.com] 
Sent: Monday, April 03, 2006 5:57 PM
To: Tag Libraries Users List
Subject: Re: <c:set> and runtime expressions

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
********************************************DISCLAIMER********************************************
This email and any files transmitted with it are confidential and contain privileged or copyright

information. If you are not the intended recipient you must not copy, distribute or use this
email
or the information contained in it for any purpose other than to notify us of the receipt
thereof.
If you have received this message in error, please notify the sender immediately, and delete
this
email from your system.

Please note that e-mails are susceptible to change.The sender shall not be liable for the
improper
or incomplete transmission of the information contained in this communication,nor for any
delay in
its receipt or damage to your system.The sender does not guarantee that this material is free
from
viruses or any other defects although due care has been taken to minimise the risk.
**************************************************************************************************

---------------------------------------------------------------------
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