December 2003
Intermediate to advanced
764 pages
24h 58m
English
A link to
a description page for each product
is generated using the
<c:forEach>
action in
the main page, shown in Example 10-6. The link
includes the request parameter id, specifying the
product to display information about. When the user clicks on one of
the links, the page shown in Example 10-7 is invoked.
<%@ page language="java" contentType="text/html" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html>
<head>
<title>Product Description</title>
</head>
<body bgcolor="white">
<jsp:useBean id="catalog" scope="application"
class="com.ora.jsp.beans.shopping.CatalogBean"
/>
<%-- Get the specified ProductBean from the catalog --%>
<c:set var="product" value="${catalog.productsById[param.id]}" />
<h1><${fn:escapeXml(product.name)}</h1>
${fn:escapeXml(product.descr)}
<p>
<c:url var="addtocartURL" value="addtocart.jsp">
<c:param name="id" value="${product.id}" />
</c:url>
<a href="${addtocartURL}">
Add this book to the shopping cart</a>
</body>
</html>A <jsp:useBean> action at the top of Example 10-7 makes the catalog bean
available to the page. Since the same action is used in the
catalog.jsp page to save the catalog bean in the application scope, it may seem redundant to have it in this page as well. In the normal case, it is. But users may bookmark a page for a specific product and go directly ...
Read now
Unlock full access