J'utilise GWT, java, iText pour produire un PDF et je souhaite reformater la date. Cependant, ce code, sur le côté serveur, les résultats dans le message « Échec de la connexion » du côté client (il n'y a pas de messages d'erreur dans le journal) et pas de sortie:Si une instruction côté serveur utilisant iText entraîne une erreur de connexion
String storedName = " ";
DateTimeFormat sdf = DateTimeFormat.getFormat("dd-MM-yyyy");
for (final Transcript scoutNamesDescription : listymAwards) {
if (scoutNamesDescription.getSection().equals(storedName)){
table.addCell(" ");
}else{
storedName = scoutNamesDescription.getSection();
table.addCell(scoutNamesDescription.getSection());
}
table.addCell(scoutNamesDescription.getAwardName());
Date awardedDate = sdf.parse(scoutNamesDescription.getAwardedDate());
String awardedString = DateTimeFormat.getFormat("dd-MM-yyyy").format(awardedDate);
table.addCell(awardedString);
}
preface.add(table);
document.add(preface);
Quand je commente le reformatage date cela marche.
J'ai essayé de remplacer le reformatage avec:
System.out.println(scoutNamesDescription.getAwardedDate());
formatedDate = StringUtils.substring(scoutNamesDescription.getAwardedDate(), 8, 2) +
StringUtils.substring(scoutNamesDescription.getAwardedDate(), 4, 4) +
StringUtils.substring(scoutNamesDescription.getAwardedDate(), 0, 2);
System.out.println(formatedDate);
Et cela produit aussi la même erreur entre les deux println.
Sur la base de la réponse de Andrei Volgin Je donne les résultats suivants:
String storedName = null;
DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
DateFormat df2 = new SimpleDateFormat("dd-MM-yyyy");
for (final Transcript scoutNamesDescription : listymAwards) {
if (scoutNamesDescription.getSection().equals(storedName)){
table.addCell(" ");
}else{
storedName = scoutNamesDescription.getSection();
table.addCell(scoutNamesDescription.getSection());
}
table.addCell(scoutNamesDescription.getAwardName());
Date awardedDate = df1.parse(scoutNamesDescription.getAwardedDate());
String awardedString = df2.format(awardedDate);
table.addCell(awardedString);
}
preface.add(table);
document.add(preface);
}
Tous vos 'include's dans le paquet' 'server' ou shared'? – Adam
Salut Adam, je crois que j'ai tous compris car je ne reçois aucun message d'erreur qui se produisent normalement quand ils ne sont pas là. – Glyn
'DateTimeFormat' a deux versions: dans les paquets' com.google.gwt.i18n.client' et 'com.google.gwt.i18n.shared'. Le premier, le client doit être utilisé du côté client uniquement, la version partagée peut être utilisée côté client et côté serveur. Vérifiez cela avec soin. – Adam