سؤال

لدي حلقة تمر بجميع عناصر الأخبار التي لدينا على موقعنا. أحد الحقول هو التاريخ ${newsitem.value['Date']}, ، الواردة في Millliseconds. أرغب في عرض هذا التاريخ بتنسيق الشهر/اليوم/السنة على صفحة الويب. اعتقدت علامة تنسيق JSTL ، <fmt:formatDate>, ، سوف يساعد ، لكنني لم تنجح. هل تعرف كيف تفعل ذلك؟

<cms:contentaccess var="newsitem" />
<h2><c:out value="${newsitem.value['Title']}" /></h2>
// display date here        
<c:out value="${newsitem.value['Text']}"  escapeXml="false" />
هل كانت مفيدة؟

المحلول

نعم JSTL formatDate يجب أن تقوم العلامة بالمهمة مع تغيير قيمة الطابع الزمني إلى كائن تاريخ (وهو مطلوب للعمل حول الاستثناء المذكور في تعليقك).

تأكد من تحديدك بشكل صحيح fmt بادئة في إعلانات JSP

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

تقديم الإخراج ، وتحويل الطابع الزمني إلى قيمة التاريخ أولاً. أنا استخدم yyyy-MM-dd كما نمط التنسيق, ، ال dateFormat دعم العلامة خيارات التنسيق الأخرى أيضًا.

<cms:contentaccess var="newsitem" />
<jsp:useBean id="newsDate" class="java.util.Date" />
<jsp:setProperty name="newsDate" property="time" value="${newsitem.value['Date']}" />
<h2><c:out value="${newsitem.value['Title']}" /></h2>
<fmt:formatDate pattern="yyyy-MM-dd" value="${newsDate}" />
<c:out value="${newsitem.value['Text']}" escapeXml="false" />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top