Làm thế nào để bạn nhập các lớp trong JSP?


232

Tôi là một người mới bắt đầu hoàn thành. Tôi đang cố gắng sử dụng một java.util.Listtrong một trang JSP. Tôi cần làm gì để sử dụng các lớp khác ngoài các lớp trong java.lang?


5
Chưa kể rằng đây không phải là cách thực hành tốt nhất;)
BalusC

Câu trả lời:


340

Sử dụng câu lệnh nhập sau để nhập java.util.List:

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

BTW, để nhập nhiều hơn một lớp, sử dụng định dạng sau:

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

9
Bạn không cần / muốn dấu chấm phẩy đó ở cuối.
TJ Crowder

8
Bạn nên đặt tất cả trên một dòng hoặc chia thành nhiều dòng để dễ đọc?
Xonatron

6
Giống như tôi, đừng quên "@", bạn không thể viết nó trực tiếp vào một sciplet <%%>
Eildosa

7
Duy trì một danh sách các hàng nhập khẩu, đốm bản sao, phân loại vv sẽ được nhiều dễ dàng hơn nếu bạn làm không đặt tất cả trong số họ trên cùng một dòng. Trong thực tế, tôi muốn đi xa như nói rằng tôi muốn khuyên bạn nên chống lại đặt chúng trên cùng một dòng.
scunliffe

Sử dụng một taglib nếu bạn có thể! và c tag lib bên trong nó ... lồng nhau tutorialspoint.com/jsp/jsp_standard_tag_library.htm
tgkprog

49

FYI - nếu bạn đang nhập Danh sách vào một tệp JSP, rất có thể bạn đang vi phạm các nguyên tắc MVC. Mất một vài giờ tại để đọc lên trên cách tiếp cận MVC để phát triển ứng dụng web (bao gồm cả sử dụng taglib) - làm một số chi tiết googling về đề tài này, đó là hấp dẫn và chắc chắn sẽ giúp bạn viết các ứng dụng tốt hơn.

Nếu bạn đang làm bất cứ điều gì phức tạp hơn một tệp JSP hiển thị một số kết quả cơ sở dữ liệu, vui lòng xem xét sử dụng một khung công tác như Spring , Grails , v.v ... Bạn sẽ hoàn toàn mất một chút nỗ lực để đi, nhưng nó sẽ giúp bạn tiết kiệm rất nhiều thời gian và nỗ lực xuống đường mà tôi thực sự khuyên bạn nên nó Bên cạnh đó, đó là thứ tuyệt vời :-)


51
Bỏ phiếu để cung cấp một bài giảng thay vì một câu trả lời cho câu hỏi.
Willis Blackburn

71
upvote đã cung cấp một bài giảng thay vì một câu trả lời cho câu hỏi
grinch 20/03/13

7
+1. Đôi khi, chiếu ánh sáng đúng hướng là cần thiết khi OP dường như chìm trong bóng tối và làm mọi thứ không đúng cách.
adarshr

3
Gọi tôi là một kẻ dị giáo nhưng tôi rất thường sử dụng Danh sách (và rất nhiều POJO khác) trong các tệp JSP. Tất nhiên, điều này bị giới hạn nghiêm ngặt đối với việc chứng minh các khái niệm và các tệp tin do-it-all nhỏ dành cho một mục đích rất cụ thể và tạm thời. Tôi vẫn chưa tìm thấy một cách nhanh hơn để xây dựng một trang web / trang web nhỏ chuyên dụng cao. Tất nhiên, khi viết một ứng dụng / trang web "thực sự", điều này thậm chí không được xem xét.
pieroxy

4
@KevinDay Xin tha thứ cho sự thiếu hiểu biết của tôi, nhưng tóm lại là làm thế nào để truy cập vào một Danh sách phá vỡ MVC? Nếu tôi sửa đổi danh sách, chắc chắn, nhưng nếu tôi chỉ đọc các mục từ nó, điều đó có vi phạm nguyên tắc MVC không?
Martin Carney

20

Trong thẻ trang:

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

1
Tại sao bạn cần nhập các lớp Tệp và IOException HOẶC bạn chỉ thông báo cho người hỏi về cách nhập nhiều hơn một lớp trong JSP?
Vijay Dev

2
Axeman, java, lang là OK nhưng các lớp java.util không được bao gồm tự động. hoặc là trường hợp của JSP ????
akjain

5

Sử dụng Chỉ thị Trang để nhập Lớp trong trang JSP. Chỉ thị Trang sử dụng 11 loại thuộc tính khác nhau, Một trong số đó là "nhập khẩu". Chỉ thị trang với thuộc tính nhập khẩu Cho phép bạn đề cập nhiều hơn một gói tại cùng một vị trí được phân tách bằng dấu phẩy (,). Ngoài ra, bạn có thể có nhiều phiên bản của phần tử trang mỗi gói với gói khác nhau.

Ví dụ:

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

Lưu ý: thuộc tính import nên được đặt trước phần tử gọi lớp importd.


5

Trong trường hợp bạn sử dụng JSTL và bạn muốn nhập một lớp trong trang thẻ thay vì trang jsp, cú pháp hơi khác một chút. Thay thế từ 'trang' bằng từ 'thẻ'.

Thay vì câu trả lời đúng của Sandman

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

sử dụng

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

4

Đây là cú pháp để nhập lớp

  <%@ page import="package.class" %>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.