JSP'de sınıfları nasıl içe aktarırsınız?


233

Ben tam bir JSP acemisiyim. java.util.ListBir JSP sayfasında bir kullanmaya çalışıyorum . Sınıflar dışındaki sınıfları kullanmak için ne yapmam gerekir java.lang?


5
Bunun en iyi uygulama olmadığından bahsetmiyorum;)
BalusC

Yanıtlar:


341

İçe aktarmak için aşağıdaki içe aktarma ifadesini kullanın java.util.List:

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

BTW, birden fazla sınıfı içe aktarmak için aşağıdaki biçimi kullanın:

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

9
Sonunda o noktalı virgüle ihtiyacınız yok / istemiyorsunuz.
TJ Crowder

8
Okunabilirlik için hepsini tek bir satıra mı yoksa birden fazla satıra mı bölmelisiniz?
Xonatron

6
Benim gibi, "@" unutma, bunu doğrudan bir sciplete yazamazsınız <%%>
Eildosa

7
Vb sıralama, çiftleri lekelenme, ithalat listesini bakımı olacak kadar eğer daha kolay yapmak değil tek bir satırda hepsini koydu. Aslında hepsini tek bir satıra koymaya karşı şiddetle tavsiye edeceğimi söyleyebilirim .
scunliffe

Mümkünse bir taglib kullanın! ve içindeki c etiketi lib ... iç içe tutorialspoint.com/jsp/jsp_standard_tag_library.htm
tgkprog

49

FYI - Bir Listeyi JSP'ye aktarıyorsanız, MVC ilkelerini ihlal etme olasılığınız oldukça yüksektir. Web uygulaması geliştirme (taglibs kullanımı dahil) için MVC yaklaşımını okumak için şimdi birkaç saat ayırın - konuyla ilgili biraz daha googling yapın, büyüleyici ve kesinlikle daha iyi uygulamalar yazmanıza yardımcı olacak.

Bazı veritabanı sonuçlarını gösteren tek bir JSP'den daha karmaşık bir şey yapıyorsanız, lütfen Bahar , Grails , vb.Gibi bir çerçeve kullanmayı düşünün ... zaman ve çaba gerçekten tavsiye ederim yolda. Ayrıca, bu harika şeyler :-)


51
Soruya cevap vermek yerine ders vermek için aşağı oy.
Willis Blackburn

71
sorusuna cevap yerine bir konferans sağlamak için upvote
grinch

7
+1. Bazen OP karanlıkta gibi göründüğünde ve hiç de doğru şekilde bir şeyler yapmadığında ışığı doğru yönde aydınlatmak gerekir.
adarshr

3
Bana bir sapkın diyorum ama JSP'lerde Listeleri (ve diğer POJO'ları) sık sık kullanıyorum. Bu, elbette, çok özel ve geçici bir amaç için tasarlanan kavramların ve küçük her şeyden önce JSP'lerin kanıtıyla kesinlikle sınırlıdır. Henüz uzmanlaşmış küçük bir webclip / web sayfası oluşturmak için daha hızlı bir yol bulamadım. Tabii ki, bir "gerçek" uygulama / web sitesi yazarken, bu bile dikkate alınmaz.
Haziran'da pieroxy

4
@KevinDay Cehaletimi affedin, ama kısaca bir Listeye erişmek MVC'yi nasıl kırıyor? Listeyi değiştirirsem, elbette, ama sadece ondan öğeler okuyorsam, bu MVC ilkelerini ihlal ediyor mu?
Martin Carney

20

Sayfa etiketinde:

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

1
Neden File ve IOException sınıflarını içe aktarmanız gerekiyor? VEYA sadece sorgulayana JSP'de birden fazla sınıfın nasıl içe aktarılacağı konusunda bilgi veriyorsunuz?
Vijay Dev

2
Axeman, java, lang tamam ama java.util sınıfları otomatik olarak dahil edilmiyor. ya da JSP'ler için geçerli mi ????
akjain

5

Bir Sınıfı JSP sayfasına almak için Sayfa Yönergesi'ni kullanın. Sayfa Yönergesi 11 Farklı Özellik kullanır, Bunlardan biri "içe aktarma" dır. İmport Attribute özelliğine sahip Sayfa Yönergesi Virgül (,) ile ayrılmış aynı yerde birden fazla paketten bahsetmenizi sağlar. Alternatif olarak, her biri Farklı paket ile birden fazla sayfa öğesi örneğine sahip olabilirsiniz.

Örneğin:

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

Not: import özelliği, importd sınıfını çağıran öğenin önüne yerleştirilmelidir.


5

JSTL kullanıyorsanız ve bir jsp sayfası yerine bir etiket sayfasına bir sınıf almak isterseniz, sözdizimi biraz farklıdır. 'Sayfa' kelimesini 'etiket' kelimesiyle değiştirin.

Sandman'ın doğru cevabı yerine

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

kullanım

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

4

Bu, sınıfı içe aktarmak için sözdizimidir

  <%@ page import="package.class" %>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.