JSP - Datum vergleichen

dg87

Erfahrenes Mitglied
Moin,

gibt es eine Möglichkeit zu prüfen, ob meine übergebene Datum Variable in einer JSP von heute ist.
Ich möchte, wenn das Datum das heutige ist, dass der String "Heute" angezeigt wird, ansonsten das Datum. Bisher wird einfach nur immer das Datum angezeigt:

PHP:
<p class="date">
										
<fmt:formatDate value="${liste.createDate}" type="both" dateStyle="short" timeStyle="short"/>
</p>

gibts da eine möglichkeit so ala:
<c:if ${liste.createDate} ) heute
dann ist der value ="Heute"

andernfalls
das was oben steht?

Danke
 
Hallo

Ich weiss nicht, ob man das elegant in der JSP hinbekommt, aber mein Workaround wäre:
Du kannst in der Klasse des Variable "liste" eine Methode "getFormattedCreateDate(): String" schreiben und dort die Präsentationslogik implementieren. Dann musst du in der JSP nur "c:eek:ut name="liste" property="formattedCreateDate" (oder so ähnlich) angeben.

Gruss
slowy
 
Oder einfach mit Javascript.
Dass ich c:eek:ut name="liste" und dann property="getFormattedCreateDate(date)" mache. Ruft der das dann so auf? Und wie übergeb ich diese JSP Variable?
Sorry bin da noch voll der **** xD

Danke dür den Tipp
 
Ich als jemand, der JavaScript eher stiefmütterlich behandelt, rate von solchen Spielereien ab. (Aber jemand, der JS mag, hat da wohl nichts dagegen). Ich finde, es gibt da eben mehr zu beachten, als wenn man das rein serverseitig macht. Browserabhängig/unabhängigkeit, Mehrsprachigkeit, Probleme mit neuen JS-Versionen und Browsern, die das alte JS noch im Cache haben,... klar, alles lösbar, aber Aufwand,....

Ja, du hast ja irgendwo eine Methode

Code:
public Date getCreateDate(){
  return createDate;
}
Die wird ja heute bereits in der JSP ausgegeben.

Jetzt machst du eine zusätzliche Methode
Code:
public String getFormattedCreateDate(){
  Date createDate = getCreateDate();
  if(isDateToday(createDate)){
    return "Heute";
  }
  if(isDateYesterday(createDate)){
    return "Gestern";
  }

  //Datum formatieren und zurückgeben.
}

public boolean isDateToday(Date inDate){
  // überprüfen, ob Datum heute ist
}

public boolean isDateYesterday(Date inDate){
  // überprüfen, ob Datum gestern ist
}

"Alles klar, soweit?"

Gruss
slowy
 

Neue Beiträge

Zurück