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.
 
Arquivo de Códigos - Página Inicial
Códigos-fonte
» Códigos-fonte e exemplos completos
Linguagens
» ActionScript
» Adobe AIR
» Adobe Flex
» AJAX
» C
» C#
» C++
» CSS
» Delphi
» DHTML - Dynamic HTML
» HTML/XHTML
» Java
» JavaFX
» JavaScript
» Java Servlets
» JSP - Java Server Pages
» Perl
» PHP
» PHP-GTK
» Python
» Ruby
» Tcl/Tk
» VB.NET
Bancos de Dados
» IBM DB2
» MySQL
Frameworks
» CodeIgniter
» jQuery
» JSF - Java Server Faces
» Qt
» Ruby On Rails
» Struts
» Struts 2
» wxWidgets
» Zend Framework
Container/Servidor
» Apache Tomcat
» Apache Web Server
Ferramentas
» Apache Ant
» iTextSharp (iText#)
Referências
» CSS1 e CSS2
» JavaScript
Serviços On-Line
» Qual é meu IP?
» Tabela Cores HTML I
» Tabela Cores HTML II
» Lista de Mime Types
» Códigos Teclas Virtuais
Usuários On-Line
Visitantes: 30
PHP
O que há de novo no PHP 5?
40 dicas e truques sobre como trabalhar com datas e horas em PHP
60 dicas e truques sobre como trabalhar com strings e caracteres em PHP
PHP e a Orientação a Objetos - POO (Curso Completo)

DHTML
Curso completo de DHTML para iniciantes

CSS
Como definir uma imagem de fundo fixa na página
Definindo uma imagem de fundo para botões HTML
Você está aqui: Inicio -> Tutoriais -> JSP
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:

String estados[] = {"GO", "MT", "SP", "RJ", "TO",
                    "MA", "RS", "MG", "CE", "SC"};


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:

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";


se o teste resultar falso nós simplesmente criamos elementos option com os valores do array.

A linha:

return html;

Devolverá à página JSP o conteúdo HTML a ser exibido.

Pronto. A classe já está criada. Agora é hora de testá-la em uma página JSP. Veja o código:

Código para testar_classe.jsp:

<%@ page language="java" import="estudos.*" %>
<html>
<head>
<title>Importando classes personalizadas</title>
</head>
<body>

<form>
Selecione o Estado: <%= new Estados("MT") %>
</form>

</body>
</html>


Execute esta página e terá o resultado mostrado na imagem seguinte:


Veja como a classe é importada:

<%@ page language="java" import="estudos.*" %>

Aqui estamos importando todo o pacote estudos. Se quiser importar apenas a classe Estados, basta alterar a diretiva para:

<%@ page language="java" import="estudos.Estados" %>

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.
Este tutorial contém as seguintes seções:
  1. Introdução
  2. O que são diretivas JSP?
  3. Aprenda a usar diretivas de página
  4. Como gerar uma planilha do Excel usando JSP
  5. Criando uma página de erros para sua aplicação
  6. Usando o objeto exception para exibir informações na página de erros
  7. Aprenda a importar suas próprias classes para uma página JSP
  8. Uso da diretiva include para incluir arquivos em uma página JSP
 
 
Arquivo de Códigos - Página Inicial
Veja dicas, truques e anotações de Hibernate
Veja dicas, truques e anotações de outras linguagens
Java - Gerando um número aleatório no intervalo de 0 a 10 usando Math.random
Ruby - Como obter o nome e caminho do diretório temporário (temp) do sistema
MySQL - Usando a função ADDTIME() para adicionar horas ao valor de um campo DATETIME ou TIME
C - Como escrever sua própria implementação da função strcmp(), usada para comparar strings em C
Ruby - Como testar se uma string termina com uma determinada substring
ActionScript - Como remover e retornar o primeiro elemento de um array
PHP - Aprenda a controlar a diretiva de configuração session.auto_start em seus códigos PHP
Ruby - Removendo os espaços em excesso de uma string
PHP - Como construir uma data usando mktime
Delphi - Como obter a diferença de dias entre duas datas usando a função DaysBetween()

       

http://www.arquivodecodigos.net
:: Arquivo de Códigos - Softwares e Consultoria em Programação ::
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 as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva

Página Inicial Contatos Pesquisar Mapa do Site