Problems with JSTL

Reply

Join Date: Jul 2005
Posts: 2
Reputation: Banshee78 is an unknown quantity at this point 
Solved Threads: 0
Banshee78 Banshee78 is offline Offline
Newbie Poster

Problems with JSTL

 
0
  #1
Jul 2nd, 2005
Hi I use the tag library and i have following Problem.

<c : out value="${nickname}"/>

Output of this statement is ${nickname} and not the value of the variable nickname. I have no clue what i m doing wrong. jar's and tld's are in the right directory.

Following is on the top of my jsp.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

using Tomcat 5.X
Reply With Quote Quick reply to this message  
Join Date: Nov 2004
Posts: 6,144
Reputation: jwenting is just really nice jwenting is just really nice jwenting is just really nice jwenting is just really nice 
Solved Threads: 212
Team Colleague
jwenting's Avatar
jwenting jwenting is offline Offline
duckman

Re: Problems with JSTL

 
0
  #2
Jul 4th, 2005
what variable 'nickname' are you trying to output?
JSTL will use any named attribute from the pagecontext, not something you created in a Java block on the JSP (in fact you should avoid those like the plague).
As people are clearly allowed to attack me but I'm not allowed to defend myself, I no longer post to this site.
Reply With Quote Quick reply to this message  
Join Date: Jul 2005
Posts: 2
Reputation: Banshee78 is an unknown quantity at this point 
Solved Threads: 0
Banshee78 Banshee78 is offline Offline
Newbie Poster

Re: Problems with JSTL

 
0
  #3
Jul 4th, 2005
yeah that is my problem. You are totaly right. So if i need variables i transfer from my servlet to my JSP <c:out... is not the right way? Should I use <%=.... instead?
Reply With Quote Quick reply to this message  
Join Date: Jun 2005
Posts: 7
Reputation: bpk is an unknown quantity at this point 
Solved Threads: 0
bpk bpk is offline Offline
Newbie Poster

Re: Problems with JSTL

 
0
  #4
Jul 8th, 2005
When you reference ${nickname} from JSTL, what the JSP is doing is looking in either the request object for a nickname attribute or the session object [i.e., request.getAttribute("nickname")]. So if you want to use ${nickname} from JSTL but set it in your servlet, then do request.setAttribute("nickname", "My Nickname");

If you want to set values in the JSP, then use the <c:set> JSTL tag.

The most important thing about getting JSTL to work, and is documented almost no where, is you have to use a Servlet 2.4 style web.xml instead of a Servlet 2.3 style web.xml.

To do this, make sure the top of your web.xml looks like this:

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/
  5. ns/j2ee/web-app_2_4.xsd"
  6. version="2.4">
From the sound of things, this might actually be your problem, because if you're using a 2.3 style web.xml, then I don't think it will recognize the EL expressions. ${nickname} is an EL expression.
Reply With Quote Quick reply to this message  
Join Date: Nov 2004
Posts: 6,144
Reputation: jwenting is just really nice jwenting is just really nice jwenting is just really nice jwenting is just really nice 
Solved Threads: 212
Team Colleague
jwenting's Avatar
jwenting jwenting is offline Offline
duckman

Re: Problems with JSTL

 
0
  #5
Jul 8th, 2005
The most important thing about getting JSTL to work, and is documented almost no where, is you have to use a Servlet 2.4 style web.xml instead of a Servlet 2.3 style web.xml.
Wrong, dead wrong.
You need a 2.4 servlet container ONLY to use JSTL 1.1. The questions are clearly related to JSTL 1.0 which is part of the 2.3 spec (though may need separate installation of the JSTL jars depending on appserver in use).
As people are clearly allowed to attack me but I'm not allowed to defend myself, I no longer post to this site.
Reply With Quote Quick reply to this message  
Join Date: Jun 2005
Posts: 7
Reputation: bpk is an unknown quantity at this point 
Solved Threads: 0
bpk bpk is offline Offline
Newbie Poster

Re: Problems with JSTL

 
0
  #6
Jul 8th, 2005
This is a Tomcat-specific issue with the Apache JSTL implementation. If you don't use a 2.4 web.xml, the EL expressions don't get evaluated in the JSP.
Reply With Quote Quick reply to this message  
Join Date: Feb 2006
Posts: 1
Reputation: nylz is an unknown quantity at this point 
Solved Threads: 0
nylz nylz is offline Offline
Newbie Poster

Re: Problems with JSTL

 
0
  #7
Feb 3rd, 2006
Many thanks. Nice hint! Before anyone else gets insane one more hint: of course, you have to recompile all jsps to see it work after changing the web.xml.
a
find <docroot> -name "*.jsp" | xargs touch
will do the rest... ;-)
Reply With Quote Quick reply to this message  
Join Date: Nov 2004
Posts: 6,144
Reputation: jwenting is just really nice jwenting is just really nice jwenting is just really nice jwenting is just really nice 
Solved Threads: 212
Team Colleague
jwenting's Avatar
jwenting jwenting is offline Offline
duckman

Re: Problems with JSTL

 
0
  #8
Feb 4th, 2006
Originally Posted by bpk
This is a Tomcat-specific issue with the Apache JSTL implementation. If you don't use a 2.4 web.xml, the EL expressions don't get evaluated in the JSP.
Be sure to never tell that to the 30 or so Tomcat instances running with our customers.
As people are clearly allowed to attack me but I'm not allowed to defend myself, I no longer post to this site.
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the JSP Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC