JSTL forEach

U

U.O

I can't understand how <forEach> is supposed to work. This code iterates
once (why?) and produces only one string, "Item" (without the index number).
Why?

<jsp:root version="1.2"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core"
<jsp:eek:utput doctype-root-element="html" omit-xml-declaration="false"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"

doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<jsp:directive.page contentType="text/html; charset=UTF-8" session="true"
/>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1" />
<title>Blah</title>
</head>
<body>
<div>
<c:forEach var="i" start="1" end="10">
Item ${i}<br />
</c:forEach>
</div>
</body>
</html>
</jsp:root>
 
D

david.karr

I can't understand how <forEach> is supposed to work. This code iterates
once (why?) and produces only one string, "Item" (without the index number).
Why?

<jsp:root version="1.2"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core"
<jsp:eek:utput doctype-root-element="html" omit-xml-declaration="false"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"

doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<jsp:directive.page contentType="text/html; charset=UTF-8" session="true"
/>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1" />
<title>Blah</title>
</head>
<body>
<div>
<c:forEach var="i" start="1" end="10">
Item ${i}<br />
</c:forEach>
</div>
</body>
</html>
</jsp:root>

I can't say for sure, as I've never tried to use pure XML JSP pages,
but it sure seems like it's not executing the JSTL at all. Is the
fact that you have version "1.2" on your JSP a problem?
 
D

Daniel Pitts

I can't understand how <forEach> is supposed to work. This code iterates
once (why?) and produces only one string, "Item" (without the index number).
Why?

<jsp:root version="1.2"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core"
<jsp:eek:utput doctype-root-element="html" omit-xml-declaration="false"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"

doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<jsp:directive.page contentType="text/html; charset=UTF-8" session="true"
/>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1" />
<title>Blah</title>
</head>
<body>
<div>
<c:forEach var="i" start="1" end="10">
Item ${i}<br />
</c:forEach>
</div>
</body>
</html>
</jsp:root>

Have you considered using a modern version of JSPs? Say, JSP 2?
 
U

U.O

david.karr said:
I can't say for sure, as I've never tried to use pure XML JSP pages,
but it sure seems like it's not executing the JSTL at all. Is the
fact that you have version "1.2" on your JSP a problem?

Right, the <c:forEach> tag is still in the generated output. The funny thing
is, when I add my own taglib, my tags are processed correctly.

Generated xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type"/>
<title>Blah</title>
</head>
<body>
<div>
<c:forEach end="10" start="1" var="i">
Item <br/>
</c:forEach>
</div>
</body>
</html>
 
S

steen

<c:forEach end="10" start="1" var="i">
Item <br/>
</c:forEach>

Looks to me like you're forgetting to add a reference to the taglib:
<%@ taglib uri='http://java.sun.com/jstl/core' prefix='c' %>

because when you forget this, the <c:forEach> tag will be sent to the
client (like your output states)

/Steen
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,066
Latest member
VytoKetoReviews

Latest Threads

Top