Nos tópicos anteriores vimos
como é possível exibir valores de variáveis
e constantes em uma página JSP usando expressões.
Porém, haverá situações em que precisaremos
inserir blocos inteiros de código em um documento. Para
tais situações temos os Scriptlets.
Scriptlets são trechos de códigos Java que podem
ser inseridos em qualquer lugar da página e serve, entre
outras coisas, para definir valores para as variáveis
a serem usadas nas expressões. Veja, por exemplo, como
formatar a data exibida no documento que escrevemos no tópico
4:
<%@
page language="java" import="java.util.*"
%>
<html>
<head>
<title>Data Atual Formatada</title>
</head>
<body>
<%
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);
%>
<p><b>Hoje é:</b> <%= data %></p>
</body>
</html>
Salve este código como data2.jsp e execute-o.
Você terá um resultado semelhante ao mostrado na
figura abaixo:
Veja que agora temos um bloco de código Java que é
executado entre as tags <% e %>. Lembre-se! Estes blocos
de códigos são chamados de Scriptlets.
Dentro deste bloco temos a definição de uma variável
chamada data:
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);
Esta variável é usada para armazenar o resultado
de varias chamadas ao método get da
classe Calendar, o que nos permite formatar
a data da maneira que pretendemos. Para finalizar, usamos uma
expressão para exibir o valor desta variável em
um lugar qualquer da página: <%= data %>
Está seguro sobre o uso de expressões e Scriptlets?
Vamos ver um exemplo que mostra como é possível
escrever no documento a partir do bloco de código de
um Scriptlet. |