Bir JSP'de, en çok tercihen JSTL ve EL'yi kullanarak bir Date
nesnesini nasıl biçimlendiririm ve görüntülerim, ancak başka bir çözüm bekler misiniz? Fasulye nesnesini değiştiremiyorum. Bir JSP sayfasında da bu nesneye tarihi görüntülemek için çalışıyorumBir tarihi biçimlendirin ve JSTL ve EL
import java.util.Date;
public class Person {
private Date myDate;
public Date getMyDate() {
return myDate;
}
public void setMyDate(Date myDate){
this.myDate = myDate;
}
}
:
Ben şu dersim var. Bunu<c:out value="${person.myDate} />
yaptığımda, bunu sayfada yazdırır.
2013-06-08 00:00:00.0
Yapmak istediğim tarihin zaman bölümünü kaldırmak ve onu MM-dd-yyyy
olarak biçimlendirmektir.
<c:set var="myDate" value="${person.myDate }"/>
<fmt:formatDate value="${myDate}" type="date" var="formattedDate"/>
ve bana dizeyi dönüştürmek için
açılamıyor aşağıdaki hata verdi özellik değeri için sınıf java.util.Date için '$ {myDate}': java .lang.IllegalArgumentException:
: Mülkiyet Editör PropertyEditorManager
kayıtlı olmayan Sonra aşağıdaki çalıştı
<c:set var="myDate" value="${person.myDate }"/>
<fmt:parseDate value="${myDate }" var="parsedDate" pattern="MM-dd-yyyy"/>
<c:out value="${parsedDate }"/>
ve I got:
Ayrıştırılamayan tarih: "$ {myDate}"
sınıf java dize '$ {myDate}' dönüştürmek için bana "açılamıyor verir .util.Date " – Susie
Yanlış JSTL bildirimleri için, sayfam biçimlendirmeye çalışmadığım tarihi görüntüler. Jstl bildirimlerinin servlet/jsp sürümüyle eşleştiğini doğrulamak yeterli mi? – Susie
Hayır, JSP sürümleri arasında etiket değiştirildi. Bir ipi (EL) alıp kendi başlarına değerlendirdiler. Daha yüksek JSP sürümlerinde, sunucu uygulaması değerlendirmeyi yapar ve nesneyi, değerlendirilecek bir dize değil, bu tür bir nesneyi alan etikete gönderir. Etiketleri karıştırırsanız garip hatalar alırsınız. Bir etiket işe yararsa, diğerlerinin iyi olduğu anlamına gelmez. – Bogdan