<%@ page import="java.util.*" %> <%@ page import="data.*" %> <%@ page contentType="text/html; charset=ISO-8859-5" %> <html> <head><title>Localized Dates</title></head> <body bgcolor="white"> <jsp:useBean id="locales" scope="application" class="data.MyLocales"/> <form name="localeForm" action="index.jsp" method="post"> <b>Locale:</b> <select name=locale> <% Iterator i = locales.getLocaleNames().iterator(); String selectedLocale = request.getParameter("locale"); while (i.hasNext()) { String locale = (String)i.next(); if (selectedLocale != null && selectedLocale.equals(locale) ) { %> <option selected><%=locale%></option> <% } else { %> <option><%=locale%></option> <% } } %> </select> <input type="submit" name="Submit" value="Get Date"> </form> <p> <jsp:include page="date.jsp" flush="true" /> </body> </html>
<%@ page import="java.util.*" %> <%@ page import="data.*" %> <html> <body bgcolor="white"> <jsp:useBean id="date" class="data.MyDate"/> <jsp:useBean id="locales" scope="application" class="data.MyLocales"/> <% Locale locale = locales.getLocale(request.getParameter("locale")); if (locale != null) { %> <jsp:setProperty name="date" property="locale" value="<%=locale%>"/> The date in <b><%=locale.getDisplayName()%></b> is <b><%=date.getDate()%></b> <% } %> </body> </html>
import java.util.*; import java.text.DateFormat; public class MyLocales { HashMap locales; ArrayList localeNames; DateFormat dateFormatter; public MyLocales() { locales = new HashMap(); localeNames = new ArrayList(); Locale list[] = DateFormat.getAvailableLocales(); for (int i = 0; i < list.length; i++) { locales.put(list[i].getDisplayName(), list[i]); localeNames.add(list[i].getDisplayName()); } Collections.sort(localeNames); } public Collection getLocaleNames() { return localeNames; } public Locale getLocale(String displayName) { return (Locale)locales.get(displayName); } }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'> <web-app> <display-name>DataWAR</display-name> <servlet> <servlet-name>index</servlet-name> <display-name>index</display-name> <jsp-file>/index.jsp</jsp-file> </servlet> <servlet> <servlet-name>date</servlet-name> <display-name>date</display-name> <jsp-file>/date.jsp</jsp-file> </servlet> <session-config> <session-timeout>30</session-timeout> </session-config> </web-app>
c:\ant dist Buildfile: C:\..\data\build.xml prepare: [mkdir] Created dir: C:\..\data\build\data [mkdir] Created dir: C:\..\data\build\data\WEB-INF\lib [mkdir] Created dir: C:\..\data\build\data\WEB-INF\classes [copy] Copying 1 file to C:\..\data\build\data\WEB-INF copyWeb: [copy] Copying 3 files to C:\..\data\build\data build: [javac] Compiling 2 source files to C:\..\data\build\data\WEB-INF\classes prepare: copyWeb: build: dist: [jar] Building jar: C:\..\data\dist\data.war BUILD SUCCESSFUL Total time: 4 seconds
Funcionalidade | Páginas JSP |
Entrar na livraria | bookstore.jsp |
Criar o banner da livraria | banner.jsp |
Examinar o catálogo | catalog.jsp |
Adicionar um livro à cesta de compras | catalog.jsp bookdetails.jsp |
Receber informação detalhada sobre um livro | bookdetails.jsp |
Mostrar a cesta de compras | showcart.jsp |
Remover um ou mais livros da cesta de compras | showcart.jsp |
Comprar os livros presentes na cesta de compras | cashier.jsp |
Receber uma confirmação de pedido | receipt.jsp |
C:\...>ant dist Buildfile: C:\...\jsp\src\livrosjsp\build.xml prepare: [mkdir] Created dir: C:\...\jsp\src\livrosjsp\build\livrosjsp [mkdir] Created dir: C:\...\jsp\src\livrosjsp\build\livrosjsp\WEB-INF\lib [mkdir] Created dir: C:\...\jsp\src\livrosjsp\build\livrosjsp\WEB-INF\classes [copy] Copying 4 files to C:\...\jsp\src\livrosjsp\build\livrosjsp\WEB-INF\lib [copy] Copying 1 file to C:\...\jsp\src\livrosjsp\build\livrosjsp\WEB-INF copyWeb: [copy] Copying 11 files to C:\...\jsp\src\livrosjsp\build\livrosjsp build: [javac] Compiling 14 source files to C:\...\jsp\src\livrosjsp\build\livrosjsp\WEB-INF\classes prepare: copyWeb: build: dist: [jar] Building jar: C:\...\jsp\src\livrosjsp\dist\livrosjsp.war BUILD SUCCESSFUL Total time: 3 seconds
<?xml version="1.0" encoding="Cp1252"?> <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'> <web-app> <display-name>LivrosJSP</display-name> <description>no description</description> <servlet> <servlet-name>cashier</servlet-name> <display-name>cashier</display-name> <description>no description</description> <jsp-file>/cashier.jsp</jsp-file> </servlet> <servlet> <servlet-name>banner</servlet-name> <display-name>banner</display-name> <description>no description</description> <jsp-file>/banner.jsp</jsp-file> </servlet> <servlet> <servlet-name>enter</servlet-name> <display-name>enter</display-name> <description>no description</description> <jsp-file>/bookstore.jsp</jsp-file> </servlet> <servlet> <servlet-name>receipt</servlet-name> <display-name>receipt</display-name> <description>no description</description> <jsp-file>/receipt.jsp</jsp-file> </servlet> <servlet> <servlet-name>showcart</servlet-name> <display-name>showcart</display-name> <description>no description</description> <jsp-file>/showcart.jsp</jsp-file> </servlet> <servlet> <servlet-name>catalog</servlet-name> <display-name>catalog</display-name> <description>no description</description> <jsp-file>/catalog.jsp</jsp-file> </servlet> <servlet> <servlet-name>bookdetails</servlet-name> <display-name>bookdetails</display-name> <description>no description</description> <jsp-file>/bookdetails.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>cashier</servlet-name> <url-pattern>/cashier</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>enter</servlet-name> <url-pattern>/enter</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>receipt</servlet-name> <url-pattern>/receipt</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>showcart</servlet-name> <url-pattern>/showcart</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>catalog</servlet-name> <url-pattern>/catalog</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>bookdetails</servlet-name> <url-pattern>/bookdetails</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> </session-config> </web-app>
<%@ page buffer="none|xxxkb" %>
<%@ page errorPage="file_name" %>
<%@ page errorPage="errorpage.jsp"%>
<%@ page isErrorPage="true" %>
<%-- Copyright 2001 Sun Microsystems, Inc. All Rights Reserved. This software is the proprietary information of Sun Microsystems, Inc. Use is subject to license terms. --%> <%@ page isErrorPage="true" %> <%@ page import="java.util.*" %> <% ResourceBundle messages = (ResourceBundle)session.getAttribute("messages"); if (messages == null) { Locale locale=null; String language = request.getParameter("language"); if (language != null) { if (language.equals("English")) { locale=new Locale("en", ""); } else { locale=new Locale("pt", ""); } } else locale=new Locale("en", ""); messages = ResourceBundle.getBundle("BookStoreMessages", locale); session.setAttribute("messages", messages); } %> <html> <head> <title><%=messages.getString("ServerError")%></title> </head> <body bgcolor="white"> <h3> <%=messages.getString("ServerError")%> </h3> <p> <%= exception.getMessage() %> </body> </html>
<%@ include file="initdestroy.jsp" %>
<%@ page import="database.*" %> <%@ page errorPage="errorpage.jsp" %> <%@ page import="javax.ejb.*, javax.naming.*, javax.rmi.PortableRemoteObject, java.rmi.RemoteException, database.BookDB, database.BookDBEJB, database.BookDBEJBHome" %> <%! private DB db = null; public void jspInit() db = (DB)getServletContext().getAttribute("DB"); if (db == null) { try{ db = new DB(); } catch( Exception e ){} getServletContext().setAttribute("DB", db); } } public void jspDestroy() { db = null; } %>
<%@ page contentType="text/vnd.wap.wml"%>
Variável | Classe | Descrição |
application | javax.servlet.ServletContext | O contexto do servlet da página JSP e de qualquer Web Component contidos na mesma aplicação |
config | javax.servlet.ServletConfig | Informação de inicialização para o servlet da página JSP |
exception | java.lang.Throwable | Acessível apenas a partir de uma página de erro |
out | javax.servlet.jsp.JspWriter | O stream de saída |
page | java.lang.Object | A instância do servlet da página JSP processando o pedido atual. Raramente usado por autores de páginas JSP |
pageContext | javax.servlet.jsp.PageContext | O contexto de uma página JSP. Provê uma API única para gerenciar atributos com escopo. Esta API é muito usada ao implementar "tag handlers" (ver em outro capítulo) |
request | subtipo de javax.servlet.ServletRequest | O pedido gatilhando a execução da página JSP |
response | subtipo de javax.servlet.ServletResponse | A resposta retornada ao cliente. Raramente usado por autores de páginas JSP |
session | javax.servlet.http.HttpSession | O objeto de sessão com o cliente |
<%@ page isThreadSafe="true|false" %>
<%@ page language="linguagem de script" %>
<%@ page import="packagename.*, fully_qualified_classname" %>
<%@ page import="java.util.*, cart.*" %>
<%! declaração na linguagem de script %>
<%-- Copyright 2001 Sun Microsystems, Inc. All Rights Reserved. This software is the proprietary information of Sun Microsystems, Inc. Use is subject to license terms. --%> <%@ page import="database.*" %> <%@ page errorPage="errorpage.jsp" %> <%@ page import="javax.ejb.*, javax.naming.*, javax.rmi.PortableRemoteObject, java.rmi.RemoteException, database.BookDB, database.BookDBEJB, database.BookDBEJBHome" %> <%! private DB db = null; public void jspInit() db = (DB)getServletContext().getAttribute("DB"); if (db == null) { try{ db = new DB(); } catch( Exception e ){} getServletContext().setAttribute("DB", db); } } public void jspDestroy() { db = null; } %>
<% comandos na linguagem de script %>
<%@ include file="initdestroy.jsp" %> <%@ page import="java.util.*, cart.*" %> <% ResourceBundle messages = (ResourceBundle)session.getAttribute("messages"); %> <jsp:useBean id="bookDB" class="database.BookDB" scope="page" > <jsp:setProperty name="bookDB" property="database" value="<%=db%>" /> </jsp:useBean> <jsp:useBean id="cart" scope="session" class="cart.ShoppingCart"/> <jsp:useBean id="currency" class="util.Currency" scope="session"> <jsp:setProperty name="currency" property="locale" value="<%=request.getLocale()%>"/> </jsp:useBean> <html> <head><title><%=messages.getString("TitleShoppingCart")%></title></head> <%@ include file="banner.jsp" %> <% String bookId = request.getParameter("Remove"); if (bookId != null) { cart.remove(bookId); bookDB.setBookId(bookId); BookDetails book = bookDB.getBookDetails(); %> <font color="red" size="+2"><%=messages.getString("CartRemoved")%><em><%=book.getTitle()%> </em> <br> <br> </font> <% } if (request.getParameter("Clear") != null) { cart.clear(); %> <font color="red" size="+2"><strong> <%=messages.getString("CartCleared")%> </strong><br> <br></font> <% } // Print a summary of the shopping cart int num = cart.getNumberOfItems(); if (num > 0) { %> <font size="+2"><%=messages.getString("CartContents")%><%=num%> <%=(num==1 ? messages.getString("CartItem") : messages.getString("CartItems"))%> </font><br> <table> <tr> <th align=left><%=messages.getString("ItemQuantity")%></TH> <th align=left><%=messages.getString("ItemTitle")%></TH> <th align=left><%=messages.getString("ItemPrice")%></TH> </tr> <% Iterator i = cart.getItems().iterator(); while (i.hasNext()) { ShoppingCartItem item = (ShoppingCartItem)i.next(); BookDetails book = (BookDetails)item.getItem(); %> <tr> <td align="right" bgcolor="#ffffff"> <%=item.getQuantity()%> </td> <td bgcolor="#ffffaa"> <strong><a href="<%=request.getContextPath()%>/bookdetails?bookId=<%=book.getBookId()%>"> <%=book.getTitle()%></a></strong> </td> <td bgcolor="#ffffaa" align="right"> <jsp:setProperty name="currency" property="amount" value="<%=book.getPrice()%>"/> <jsp:getProperty name="currency" property="format"/> </td> <td bgcolor="#ffffaa"> <strong> <a href="<%=request.getContextPath()%>/showcart?Remove=<%=book.getBookId()%>"><%=messages.getString("RemoveItem")%></a></strong> </td></tr> <% // End of while } %> <tr><td colspan="5" bgcolor="#ffffff"> <br></td></tr> <tr> <td colspan="2" align="right" "bgcolor="#ffffff"> <%=messages.getString("Subtotal")%></td> <td bgcolor="#ffffaa" align="right"> <jsp:setProperty name="currency" property="amount" value="<%=cart.getTotal()%>"/> <jsp:getProperty name="currency" property="format"/> </td> </td><td><br></td></tr></table> <p> <p> <strong><a href="<%=request.getContextPath()%>/catalog"><%=messages.getString("ContinueShopping")%></a> <a href="<%=request.getContextPath()%>/cashier"><%=messages.getString("Checkout")%></a> <a href="<%=request.getContextPath()%>/showcart?Clear=clear"><%=messages.getString("ClearCart")%></a></strong> <% } else { %> <font size="+2"><%=messages.getString("CartEmpty")%></font> <br> <br> <center><a href="<%=request.getContextPath()%>/catalog"><%=messages.getString("Catalog")%></a> </center> <% // End of if } %> </body> </html>
<%= expressão na linguagem de script %>
<%@ include file="initdestroy.jsp" %> // ... <%@ include file="banner.jsp" %>
<jsp:include page="date.jsp"/>
<jsp:forward page="/main.jsp" />
<jsp:include page="..." > <jsp:param name=”param1” value="value1"/> </jsp:include>
livros programa