Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: JSP (Java Server Pages) ::: Dicas de Estudo e Anotações ::: Passos Iniciais

Aprenda a importar suas próprias classes para uma página JSP

Quantidade de visualizações: 12 vezes
Vimos em dicas 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">
";

    for(int i = 0; i < estados.length; i++){
      if(estados[i].equals(selecionado))
        html += " <option value="" + 
             estados[i] + "" selected>" + 
             estados[i] + "</option>
";
      else
        html += " <option value="" + estados[i] + "">" + 
             estados[i] + "</option>
"; 
    }

    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. Visite www.recomende.com 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"> ";

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>
";
else
  html += " <option value="" + estados[i] + "">" +
     estados[i] + "</option>
"; 
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 observe o resultado obtido.

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.

Link para compartilhar na Internet ou com seus amigos:

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Ano: 2023 Banca: Instituto Access - Instituto de Acesso à Educação, Capacitação Profissional e Desenvolvimento Humano Prova: Instituto Access - Instituto de Acesso à Educação, Capacitação Profissional e Desenvolvimento Humano - Prefeitura de Dores do Indaiá - Advogado do Procon - 2023

A respeito de ética no âmbito público, analise as afirmativas a seguir:

I. A ética no serviço público é pressuposto do servidor público.

II. Os trabalhadores com vínculo com entidades governamentais precisam seguir uma série de valores e regras estabelecidos para esse serviço.

III. Como se relaciona à moral, a ética pode sofrer ajustes pessoais de acordo com os valores morais e princípios individuais de cada cidadão.

Assinale:

A) se apenas as afirmativas I e II estiverem corretas.

B) se apenas as afirmativas I e III estiverem corretas.

C) se apenas as afirmativas II e III estiverem corretas.

D) se todas as afirmativas estiverem corretas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Java

Analise o seguinte código Java

double a = 0 / 5.0;
System.out.println(a);

Qual é o resultado de sua execução?

A) Infinity

B) NaN

C) Uma exceção java.lang.ArithmeticException: / by zero

D) 0.0
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Postura ética profissional

A maioria das sociedades profissionais preparou um código de ética para seus membros. O objetivo do código de ética dos engenheiros é guiá-los a um comportamento ético. Uma análise desses códigos fornece algumas orientações.

A esse respeito, assinale a alternativa que apresenta uma conduta ética aceitável em um ambiente de trabalho:

A) Promover trabalho honesto e árduo aos clientes.

B) Promover conflitos de interesse.

C) Aceitar benefício próprio para promover uma vantagem a uma empresa.

D) Preterir a segurança, a saúde e o bem-estar.

E) Ser ilusório e objetivo.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

const numeros = [33, 2, 8]; 
numeros.sort();
document.write(numeros[1]);

Qual é o resultado de sua execução?

A) 2

B) 8

C) 1

D) 33
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Equação da continuidade

Um cano de 2,00 cm de diâmetro se estreita para 8,00 mm. No primeiro segmento, um líquido flui com velocidade de 4,00 m/s. A velocidade do líquido no segundo segmento e a vazão de volume no cano valem, respectivamente:

A) 16,0 m/s e 1,26 x 10-3 m3/s.

B) 100 m/s e 5,03 x 10-4 m3/s.

C) 25,0 m/s e 4,00 x 10-4 m3/s.

D) 25,0 m/s e 1,26 x 10-3 m3/s.

E) 1,00 m/s e 1,26 m3/s.
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de JSP (Java Server Pages)

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 41 usuários muito felizes estudando em nosso site.