Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / May 2006

Tip: Looking for answers? Try searching our database.

Tomcat 5.5 JSP EL evaluation: what?

Thread view: 
Owen Jacobson - 03 May 2006 05:06 GMT
I'm working my way through the Sun J2EE tutorial, but I'm stuck on the
first web app.

I'm running the sample web app "hello1" on a stock tomcat 5.5
installation.  The app theoretically demonstrates some simple JSTL
features and EL evaluation; instead, it demonstrates nothing at all.

My hello1.war contains:
/index.jsp
/META-INF/MANIFEST.MF
/WEB-INF/web.xml
/WEB-INF/c.tld            # from commons-taglib
/WEB-INF/fn.tld           # ditto
/WEB-INF/lib/jstl.jar     # the same
/WEB-INF/lib/standard.jar # likewise

index.jsp:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/function" prefix="fn" %>
<html>
<head>
<title>Short, Simple Complete Compilable Code</title>
</head>
<body>
<p>${param.username}</p>
</body>
</html>

and web.xml:
<web-app>
 <display-name>hello1</display-name>
</web-app>

(This originally had a number of fields from the example web.xml; it
didn't work with those in place, either.)

From the tutorial and the JSTL docs, requesting
http://..../hello1/?username=Pennywise should print "Pennywise" on the
page.  Instead, it's printing the expression itself: ${param.username}

Why?

And where is this documented?  I tried the tomcat docs, the JSP
documentation, and google, with very little luck.

-Owen
steen - 03 May 2006 08:10 GMT
> index.jsp:
> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
[quoted text clipped - 7 lines]
> </body>
> </html>
...
> From the tutorial and the JSTL docs, requesting
> http://..../hello1/?username=Pennywise should print "Pennywise" on the
> page.  Instead, it's printing the expression itself: ${param.username}
>
> Why?

Try changing the ${param.username} to <c:out value="${param.username}"
/>
because the way your jsp looks now, you're just asking it to print the
string "${param.username}", but by calling the c:out tag magic things
will happen.
Check http://java.sun.com/webservices/docs/1.3/tutorial/doc/JSTL4.html
for further information.

/Steen
Owen Jacobson - 03 May 2006 15:30 GMT
>> index.jsp:
>> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
[quoted text clipped - 21 lines]
> Check http://java.sun.com/webservices/docs/1.3/tutorial/doc/JSTL4.html
> for further information.

According to the JSP spec that's not actually necessary in JSP 2.0.
The JSTL docs seem to confirm that; c:out makes it possible to work with
EL in JSP prior to JSP 2.0.

I think.

Version soup in here.

Anyways, point is, that didn't work either.  What *did* work is using a
set of attributes on <web-app> including version="2.4"; the example as
downloaded has version="2.5".


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.