Como você importa classes em JSP?


233

Eu sou um completo iniciante em JSP. Estou tentando usar um java.util.Listem uma página JSP. O que preciso fazer para usar outras classes que não as java.lang?


5
Para não mencionar que esta não é a melhor prática;)
BalusC

Respostas:


341

Use a seguinte declaração de importação para importar java.util.List:

<%@ page import="java.util.List" %>

BTW, para importar mais de uma classe, use o seguinte formato:

<%@ page import="package1.myClass1,package2.myClass2,....,packageN.myClassN" %>

9
Você não precisa / deseja esse ponto e vírgula no final.
TJ Crowder

8
Você deve colocar tudo em uma linha ou dividi-lo em várias linhas para facilitar a leitura?
Xonatron

6
Como eu, não se esqueça do "@", você não pode escrever isso diretamente em um sciplet <%%>
Eildosa

7
Manter uma lista de importações, manchando duplicatas, classificação etc. será muito mais fácil se você não não colocar todos eles em uma única linha. Na verdade, eu diria que recomendo muito não colocá-los todos em uma linha.
precisa saber é o seguinte

Use um taglib, se puder! e c tag lib dentro dela ... aninhada tutorialspoint.com/jsp/jsp_standard_tag_library.htm
tgkprog

49

FYI - se você estiver importando uma lista para um JSP, é bem provável que você esteja violando os princípios do MVC. Reserve algumas horas agora para ler sobre a abordagem MVC para o desenvolvimento de aplicativos da web (incluindo o uso de taglibs) - pesquise mais sobre o assunto, é fascinante e definitivamente ajudará você a escrever aplicativos melhores.

Se você está fazendo algo mais complicado do que um único JSP exibindo alguns resultados do banco de dados, considere o uso de uma estrutura como Spring , Grails , etc. tempo e esforço no caminho que eu realmente recomendo. Além disso, é legal :-)


51
Vote para fornecer uma palestra em vez de uma resposta para a pergunta.
Willis Blackburn

71
voto positivo por fornecer uma palestra, em vez de uma resposta para a pergunta #
22813

7
+1. Às vezes, é necessário brilhar a luz na direção certa quando o OP parece estar no escuro e fazer as coisas da maneira correta.
Adarshr

3
Me chame de herege, mas muitas vezes eu uso Lists (e muitos outros POJO) em JSPs. Obviamente, isso é estritamente limitado à prova de conceitos e pequenas JSPs do tipo faça-tudo, destinadas a fins muito específicos e temporários. Ainda não encontrei uma maneira mais rápida de criar um pequeno webclip / página altamente especializada. Obviamente, ao escrever um aplicativo / site "real", isso nem é considerado.
pieroxy

4
@KevinDay Perdoe minha ignorância, mas, em suma, como está acessando uma lista quebrando o MVC? Se estou modificando a lista, claro, mas se estou apenas lendo itens dela, isso viola os princípios do MVC?
Martin Carney

20

Na tag da página:

<%@ page import="java.util.List" %>

1
Por que você precisaria importar as classes File e IOException OU é que você estava apenas informando o questionador sobre como importar mais de uma classe no JSP?
Vijay Dev

2
Axeman, java, lang está OK, mas as classes java.util não são incluídas automaticamente. ou é o caso com JSP ????
Akjain 30/10/2009

5

Use a Diretiva de Página para importar uma Classe na página JSP. A diretiva da página usa 11 tipos diferentes de atributos, um deles é "importação". Diretiva de página com atributo de importação Permite mencionar mais de um pacote no mesmo local, separado por vírgulas (,). Como alternativa, você pode ter várias instâncias do elemento da página, cada uma com pacote Diferente.

Por exemplo:

 <%@ page import = "java.io.*" %>
 <%@ page import = "java.io.*", "java.util.*"%>

Nota: o atributo import deve ser colocado antes do elemento que chama a classe importd.


5

Caso você use JSTL e deseje importar uma classe em uma página de tags em vez de em uma página jsp, a sintaxe é um pouco diferente. Substitua a palavra 'página' pela palavra 'tag'.

Em vez da resposta correta de Sandman

<%@page import="path.to.your.class"%>

usar

<%@tag import="path.to.your.class"%>

4

Esta é a sintaxe para importar a classe

  <%@ page import="package.class" %>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.