Java Server Pages (JSP) is a technology that allows regular, static HTML, to be mixed with dynamically-generated HTML written in Java programming language for encapsulating the logic that generates the content for the page. Refer to the Java Server Pages (http://java.sun.com/products/jsp/) and the Quickstart Guide (http://java.sun.com/products/jsp/docs.html) for more details.
The following example shows a sample JSP page that lists the content of a cart.
<!-- Get the session -->
<%@ page session="true" %>
<!-- The import to use -->
<%@ page import="java.util.Enumeration" %>
<%@ page import="java.util.Vector" %>
<html>
<body bgcolor="white">
<h1>Content of your cart</h1><br>
<table>
<!-- The header of the table -->
<tr bgcolor="black">
<td><font color="lightgreen">Product Reference</font></td>
<td><font color="lightgreen">Product Name</font></td>
<td><font color="lightgreen">Product Price</font></td>
</tr>
<!-- Each iteration of the loop display a line of the table -->
<%
Cart cart = (Cart) session.getAttribute("cart");
Vector products = cart.getProducts();
Enumeration enum = products.elements();
// loop through the enumeration
while (enum.hasMoreElements()) {
Product prod = (Product) enum.nextElement();
%>
<tr>
<td><%=prod.getReference()%></td>
<td><%=prod.getName()%></td>
<td><%=prod.getPrice()%></td>
</tr>
<%
} // end loop
%>
</table>
</body>
</html> |
It is a good idea to hide all the mechanisms for accessing EJBs from JSP pages by using a proxy Java bean, referenced in the JSP page by the usebean special tag. This technique is shown in the alarm example http://www.objectweb.org/jonas/current/examples/alarm/web/secured, where the .jsp files communicate with the EJB via a proxy Java bean ViewProxy.java http://www.objectweb.org/jonas/current/examples/alarm/beans/org/objectweb/alarm/beans/ ViewProxy.java.