• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

JSTL not working

 
Author
Posts: 144
5
jQuery Eclipse IDE Spring
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
This is a JSP from an example for Spring Developer's notebook.

<%@ page import="com.springbook.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<html>
<head>
<title>
<c : out value="${rentaBike.storeName}" />
</title>
</head>
<body>
<h1><c : out value="${rentaBike.storeName}" /></h1>
Edit a bike: <br/>
<c:forEach items="${rentaBike.bikes}" var="bike">
<a href="editBike.bikes?bikeSerialNo=<c : out value="${bike.serialNo}" />"><c : out value="${bike.manufacturer}" /> - <c : out value="${bike.model}"/><br/>
</c:forEach>
<br/><br/>
<a href="newBike.bikes">Add a new bike</a>

</body>
</html>


When I deploy this and run it I get this

${rentaBike.storeName} for the header. All the c : out's do this. I have the c.tld and the two(jstl.jar and standard.jar) jars deployed with the webapp. Any suggestions?

Thanks in advance,
Tom

[ October 25, 2005: Message edited by: Tom Henricksen ]
[ October 25, 2005: Message edited by: Tom Henricksen ]
 
Sheriff
Posts: 67747
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
What is your container?
 
Tom Henricksen
Author
Posts: 144
5
jQuery Eclipse IDE Spring
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am using Tomcat 5.0.28.
If I run this page:

<%@ page import="com.springbook.*" %>
<% RentABike store = new ArrayListRentABike("Bruce's bikes");
System.out.println("Just called ArrayListRentABike");
%>
<html>
<head>
<title>
<%= store.getStoreName() %>
</title>
</head>
<body>
<h1><%= store.getStoreName() %></h1>
<table border="1" cellspacing="2" cellpadding="2">
<tr style="font-weight: bold;">
<td>Manufacturer</td><td>Model</td><td>Status</td>
</tr>
<% for(int i=0;i<store.getBikes().size();i++) { %>
<% Bike bike = (Bike)store.getBikes().get(i); %>
<tr>
<td><%= bike.getManufacturer() %></td>
<td><%= bike.getModel() %></td>
<td><%= bike.getStatus() %></td>
</tr>
<% } %>
</table>
</body>
</html>

It seems to work okay. That is why I am guessing the problem is with JSTL.
Who knows...
Thanks,
Tom
 
Bear Bibeault
Sheriff
Posts: 67747
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The URI you are using for the JSTL is a JSTL 1.0 URI. With Tomcat 5, which is a JSP 2.0 container you need to be using JSTL 1.1.

There is a JSP FAQ entry with links to the JSTL 1.1 downloads.
 
Ranch Hand
Posts: 451
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I ran into this puppy also. As Bear said you need the new jars and tld files from Jakarta, but that isn't quite enough. You have to hack web.xml and the include.jsp from the book examples.

--------------- web.xml ---------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>Test web app </display-name>

<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>;
<taglib-location>/WEB-INF/lib/c.tld</taglib-location>
</taglib>

<servlet>
<servlet-name>rentaBikeApp</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rentaBikeApp</servlet-name>
<url-pattern>*.bikes</url-pattern>
</servlet-mapping>
</web-app>
--------------- end web.xml -----------------------------
--------------- include.jsp -----------------------------
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
--------------- end include.jsp -----------------------------
 
Bear Bibeault
Sheriff
Posts: 67747
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
There is no need to place any declaration in the web.xml.

P.S. Please resist the urge to ressurect zombies. This thread is close to a year old.
 
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Bear,

Hopefully pointing out something useful for folks with the web.xml. (As I just ran into this problem recently and was rather frustrating).

I did notice that if you didn't have anything specified in
the <web-app>, then you'd get the behavior that was originally posted, ie the el expressions don't evaluate. No values show up.

It is critical to have something like:

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

Depending on the version that you are using. Best to check out the "samples" that usually come with the container to see the exact spec on this.

Thanks!
 
Bartender
Posts: 1845
10
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You know what? Thats a really useful bit of information. I'm sure it'll help someone in the future.
It should be in the JSP FAQ

Maybe put it under a heading something like Setup JSTL or how about ServletsWebXml

Hold on a sec...
 
Bear Bibeault
Sheriff
Posts: 67747
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Joel, don't get me wrong -- we do appreciate your trying to help. It's just that digging up old posts is seldom truly heplful.

My mention of the web.xml, is that no taglib declaration need be made in the deployment descriptor if the jar files are correcetly placed. You are correct in that the web app must be declared as servlets 2.4, but as Stefan pointed out, that's already covered in the JSP FAQ.
[ October 10, 2006: Message edited by: Bear Bibeault ]
 
Joel Thompson
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Stefan - yes, I do detect the sarcasm... and that's ok...(the old RTFM).

However, I'd like to point out something that I have observed (I am new to javaranch...mind you, so bare with me, as I am not accustum to such good talent answering questions on the forum as moderators/sheriff..etc. which is an outstanding concept!).

FAQ's are helpful, yet even the FAQ in this case doesn't address the cause and affect of the original problem; and folks would be more inclined to "search" the forum (I'd suspect) than to look at the FAQ right away. You see, the FAQ doesn't state that if you don't put the right <web-app...>, you'll get unexpected behaviour like only the expression and not the values showing up.

Just my two cents.

Thanks again for your help.

 
drifter
Posts: 1364
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
ElOrJstlNotWorkingAsExpected

Originally posted by Joel Thompson:
FAQ's are helpful, yet even the FAQ in this case doesn't address the cause and affect of the original problem; and folks would be more inclined to "search" the forum (I'd suspect) than to look at the FAQ right away. You see, the FAQ doesn't state that if you don't put the right <web-app...>, you'll get unexpected behaviour like only the expression and not the values showing up.


[ October 11, 2006: Message edited by: Carol Enderlin ]
 
Bear Bibeault
Sheriff
Posts: 67747
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
As a result of Joel's note, I have also added a little blurb to ServletsWebXml noting that the 2.4 XML Schema is necessary to enable the JSP 2.0 EL.
 
Stefan Evans
Bartender
Posts: 1845
10
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yeah, I guess my tolerance was a little low yesterday. At least we know your sarcasm meter is working fine.

If you do a forum search, you will find that this type of question gets asked (and answered) every day or so. So much for forum search/FAQ.
Maybe thats because of lazy posters, maybe the FAQ isn't clear enough, or linked well enough (though I would think the former more likely)

Just out of interest how did you solve your original problem?
 
Joel Thompson
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm not the original poster, but my problem and I suspect his was solved by putting the proper <web-app> attributes in place.
 
Stefan Evans
Bartender
Posts: 1845
10
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I did pick up the fact you were not the original poster (coming back to a question after a year is rather uncommon)

You referred to being frustrated with this issue yourself recently. I was wondering how/where you got the solution that then prompted you to post it here - from this site? elsewhere on the internet? reading docs? trial and error?
 
Joel Thompson
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I found the solution from trial and error.
 
I love a good mentalist. And so does this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic