Tôi đang sử dụng JSP cho chế độ xem và Spring MVC 3.0 cho bộ điều khiển. Trong JSP của tôi, tôi muốn hiển thị DateTime hiện hành, mà tôi có đoạn mã sau ...Biểu thức lồng nhau trong JSP/JSTL
<c:set var="dateTimeDisplayFormat" value='<spring:message code="display.dateFormat" />'/>
<c:set var="currentDateTime"
value='<%= new SimpleDateFormat(${dateTimeDisplayFormat}).format(new Date()) %>'
scope="page" />
Bây giờ, vấn đề là JSTL thất bại trong việc nhận dạng thẻ lồng nhau của tôi cho SimpleDateFormat instantiation. Tôi muốn truyền chuỗi định dạng (Như được lấy từ biến 'dateTimeDisplayFormat') đến hàm tạo SimpleDateFormat.
Ai đó có thể xin lời khuyên làm thế nào để tôi viết hàm dựng lồng nhau cho SimpleDateFormat trong câu lệnh c: set ở trên?
Cảm ơn bạn đã dự đoán!
Cảm ơn bạn rất nhiều Skaffman, nhưng giải pháp đầu tiên mà bạn đề xuất, không hoạt động: (. Nó mang lại cho tôi ngoại lệ –
PaiS
PWC6197: Đã xảy ra lỗi tại dòng: 27 trong tệp jsp: /WEB-INF/views/common/header.jsp PWC6199: Lỗi servlet được tạo: Lỗi cú pháp trên mã "$", AssignmentOperator được mong đợi sau mã này Cảm ơn bạn đã mở mắt cho cách tiếp cận thứ 2, nhưng với điều đó, ngày hiện tại hiển thị trên trang, với tất cả các mã còn lại của tôi là cùng một nghĩa.
OMG! Vì vậy, câm của tôi, tôi đã không bao gồm các thư viện định dạng JSTL ở đầu trang, và do đó cách tiếp cận thứ 2 đã không làm việc. Bây giờ nó hiển thị ngày hoàn hảo, và cảm ơn bạn rất nhiều Skaffman cho cách tiếp cận gọn gàng! – PaiS
câu trả lời đúng trong tinh thần của nó, nhưng lỗi cú pháp xuất phát từ việc trộn tập lệnh với el. Đây là mã java chữ (argh, không nên xảy ra trong một JSP), do đó, biến el có thể (nhưng không nên) được truy cập như thế này: '<% = new SimpleDateFormat (pageContext.getAttribute (" dateTimeDisplayFormat ")). format (new Date())%> ' –