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:[EMAIL PROTECTED] 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:[EMAIL PROTECTED]>
D.O.Tech       <http://www.dotech.com/>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to