Precisa de um freelancer, códigos-fonte e exemplos completos? Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
Diretivas :: Aprenda a importar
suas próprias classes para uma página JSP
Vimos em tópicos anteriores
que pacotes de classes ou classes individuais podem ser importados
para uma página JSP usando-se o atributo import
na diretiva de página:
<%@
page import="java.util.*" %>
Neste tópico veremos como é possível criar
nossas próprias classes e usá-las em uma página
JSP. Será um bom exercício antes de estudarmos
JavaBeans. Comece escrevendo a seguinte classe:
Código para Estados.java:
package estudos;
public class Estados{
String selecionado;
String estados[] = {"GO", "MT",
"SP", "RJ", "TO",
"MA",
"RS", "MG", "CE", "SC"};
public Estados(String sel){
selecionado = sel;
}
public Estados(){
selecionado = estados[0];
}
public String toString(){
String html = "<select name=\"estado\">\n";
for(int i = 0; i < estados.length;
i++){
if(estados[i].equals(selecionado))
html += "
<option value=\"" + estados[i] + "\"
selected>" +
estados[i] + "</option>\n";
else
html += "
<option value=\"" + estados[i] + "\">"
+
estados[i] + "</option>\n";
}
html += "</select>";
return html;
}
}
Experimente compilar esta classe e vamos analisá-la cuidadosamente.
O primeiro passo é observar que esta classe fará
parte de um pacote chamado estudos:
package estudos;
Assim, nossa primeira preocupação é como
disponibilizar a classe de modo que a aplicação
web a encontre. Nada muito complicado. Tudo que você tem
a fazer é criar um diretório chamado estudos
dentro do diretório classes que está
contido no diretório WEB-INF de sua
aplicação web. Agora copie o arquivo Estados.class
para o diretório recém-criado.
Nota: Se você fizer alterações na classe
depois de esta ser disponibilizada para o container, pode haver
a necessidade de reiniciar a aplicação web para
que as alterações sejam refletidas. Clique aqui
para aprender como fazer isso no Tomcat.
O nome de nossa classe personalizada é Estudos
e servirá para montar um elemento HTML select
contendo os nomes de todos os estados. Esta classe contém
duas variáveis globais. A primeira é apenas uma
String que armazenará o valor do estado que deverá
aparecer selecionado no elemento select:
String selecionado;
A segunda variável é um array do tipo String contendo
os estados a serem mostrados no elemento:
Por questões de espaço não coloquei todos
os estados, faça isso se quiser usar este código
em uma aplicação real.
O primeiro construtor da classe receberá como argumento
o estado que deverá estar selecionado e o fornecerá
à variável global selecionado:
public Estados(String
sel){
selecionado = sel;
}
O segundo construtor (que pode ser chamado sem argumentos) simplesmente
fornece o primeiro elemento do array estados
à variável selecionado:
public Estados(){
selecionado = estados[0];
}
E agora a parte mais complexa da classe: o método toString.
É com o auxilio deste método que conseguimos montar
o elemento select na página. A primeira
linha do método:
String
html = "<select name=\"estado\">\n";
cria uma variável chamada html e define
como seu valor a tag de abertura do elemento select.
Fique atento ao uso da barra de escape "\" para preservar
as aspas que circundam os valores fornecidos aos atributos do
elemento. A quebra de linha não é obrigatória.
Ela apenas ajudará na formatação do código
fonte da página.
Em seguida temos um laço for que é executado uma
vez para cada elemento do array estados:
for(int i = 0;
i < estados.length; i++){
// o código do laço vai aqui
}
Na primeira linha dentro deste laço nós testamos
se o valor do array sendo lido é igual ao conteúdo
da variável selecionado. Se o teste
resultar verdadeiro, nós acrescentamos o atributo selected
ao elemento option. Isso faz com que o valor
seja selecionado quando o elemento select for
exibido na página:
Observe agora a expressão JSP usada para exibir os estados
na página:
<%=
new Estados("MT") %>
Tudo que fizemos aqui foi construir uma instancia da classe
Estados e fornecer o valor que deverá
aparecer selecionado no elemento select. Experimente
construir uma instancia usando o construtor padrão (sem
argumentos):
<%=
new Estados() %>
Estude bastante este tópico. Será o ponto de partida
para o uso de JavaBeans e construções
de bibliotecas de tags personalizadas.
Todo o conteúdo deste site,
quando não devidamente observado, pertence a seus idealizadores
e não
poderá ser usado para outras finalidades senão estudo e
aprimoramento de técnicas de programação.
Certifique-se de ler asnotas legaisantes de proceder com
o acesso e leitura do
conteúdo disponibilizado nestas páginas.