2012-07-05 40 views

Trả lời

19

${foo.class.name} trả lại tên đầy đủ của foo.

Nhưng instanceof đã là thứ bạn hiếm khi nên sử dụng trong chương trình OO được thiết kế tốt, nó nên được sử dụng ít hơn trong JSP EL, nơi các phương pháp được gọi tự động mà không cần quan tâm đến loại thực tế. chỉ để tạo đánh dấu.

+2

Cảm ơn bạn. Nhưng '$ {foo.class.name}' có vẻ không hoạt động dưới Tomcat7 cho đến khi thay đổi cấu hình bổ sung mà tiếc là tôi không có quyền truy cập. Kiểm tra tên lớp diễn ra trong một tệp bảng tagx hoạt động cho một số địa điểm. Tuy nhiên bây giờ cho một bảng cụ thể tôi cần phải kiểm tra tên lớp đối tượng để xuất giá trị trường của nó. Tôi không biết làm thế nào để thỏa hiệp với một ý tưởng tốt hơn. – Dreamer

+9

Trong tomcat 7 (như vậy với JSP EL 2.2), bạn có thể thực sự làm '$ {foo.getClass(). Name}' và nó hoạt động ... –

+7

Nếu bạn muốn làm cho nó hoạt động trong cả Tomcat 6 và 7, bạn có hai lựa chọn: - Sử dụng $ {foo ['class']. name}, hoạt động ở cả hai phiên bản - HOẶC định cấu hình Tomcat 7 chấp nhận định dạng cũ với -Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK = true –