Tôi có một Enum như thế nàyiterating qua hằng Enum trong JSP
package com.example;
public enum CoverageEnum {
COUNTRY,
REGIONAL,
COUNTY
}
Tôi muốn để lặp qua các hằng số trong JSP mà không cần sử dụng mã scriptlet. Tôi biết tôi có thể làm điều đó với mã tập lệnh như sau:
<c:forEach var="type" items="<%= com.example.CoverageEnum.values() %>">
${type}
</c:forEach>
Nhưng tôi có thể đạt được điều tương tự nếu không có tập lệnh không?
Chúc mừng, Don
Nếu tôi làm theo cách này tôi cần phải xác định một chức năng EL cho mỗi enum, đó sẽ là một nỗi đau thực sự. Xác định một hàm duy nhất hoạt động cho tất cả các enums (có lẽ là thông qua sự phản chiếu) sẽ thích hợp hơn. Nhưng chắc chắn như một chức năng đã tồn tại trong một số taglib JSP? –
Có thể có nhưng tôi không biết về nó, chỉ có một đi: tĩnh công> Enum [] getValues (Lớp klass) { \t try { \t \t Phương pháp m = klass. getMethod ("giá trị", null); \t \t Object obj = m.invoke (null, null); \t \t trả lại (Enum []) obj; \t} bắt (Ngoại lệ cũ) { \t \t trả lại null; \t} } –
Công việc tuyệt vời. Boy, là tham số kiểu> xấu xí! Tôi đang chỉ trích việc thực thi Generics Java ở đây, chứ không phải mã của bạn. Tôi đã bị ép buộc vào những sự ghê tởm tương tự. Cảm ơn mã. –