Muitas vezes, durante o desenvolvimento
de uma aplicação web, temos arquivos ou trechos
de códigos que gostaríamos de incluir nas demais
páginas. Exemplos disso incluem códigos que geram
o cabeçalho da página, barras de menus e até
mesmo rodapés. Quando você aplica tal técnica,
o gerenciamento de uma aplicação contendo centenas
de páginas de páginas se torna muito mais fácil.
Uma alteração no arquivo que representa o rodapé
bastaria para que a alteração refletisse em todas
as demais páginas.
A diretiva include permite inserir um arquivo
texto ou código em uma página JSP durante a fase
de tradução, quando a página é compilada.
Isso quer dizer que, o resultado final será apenas um
arquivo e, portanto, objetos, métodos e variáveis
disponíveis no arquivo incluído estarão
acessíveis na página que faz a importação
e vice-versa.
Ao contrário das diretivas de página (Page
Directive), a diretiva include pode
ser usada em qualquer lugar da página e quantas vezes
forem necessárias. Veja a sintaxe JSP: <%@
include file="arquivo.jsp" %>
Veja agora a sintaxe XML: <jsp:directive.include
file="arquivo.jsp" />
O caminho do arquivo a ser incluído é sempre relativo.
Se o caminho começar com "/", este caminho
será relativo ao contexto da aplicação.
Se começar com um diretório ou nome do arquivo,
o caminho será relativo à página que está
fazendo a importação.
Vamos ver como isso funciona. Comece escrevendo o código
abaixo:
Código para data_completa.jsp:
<%@ page language="java"
import="java.util.*" %>
<%
String dias[] = {"Domingo", "Segunda-feira",
"Terça-feira",
"Quarta-feira",
"Quinta-feira", "Sexta-feira", "Sábado"};
String meses[] = {"Janeiro", "Fevereiro",
"Março", "Abril",
"Maio", "Junho",
"Julho", "Agosto", "Setembro",
"Outubro",
"Novembro", "Dezembro"};
Calendar hoje = Calendar.getInstance();
String data = dias[hoje.get(Calendar.DAY_OF_WEEK)
- 1] +
", " + hoje.get(Calendar.DAY_OF_MONTH)
+ " de " +
meses[hoje.get(Calendar.MONTH)]
+
" de " + hoje.get(Calendar.YEAR);
%>
Salve este arquivo com o nome de data_completa.jsp.
Como já usamos este trecho de código em exemplos
anteriores ficará por sua conta revisar as partes que
não entender completamente. Vamos ver agora como importa-lo
em uma outra página: Código para
incluir.jsp: <%@
page language="java" %>
<%@ include file="data_completa.jsp" %>
<html>
<head>
<title>Usando a diretiva include</title>
</head>
<body>
Hoje é: <%= data %>
</body>
</html>
Transfira os dois documentos para o diretório raiz da
aplicação e execute a página incluir.jsp.
Veja que a data é exibida através de uma expressão:
<%= data %>
Veja que esta variável é declarada e inicializada
no código que incluímos. Isso prova que os dois
documentos resultam em apenas um arquivo após o processo
de compilação. |