Come si associa un data al strisce utilizzando un formato specifico? MM / gg / aaaa hh: mm: ss
Domanda
Come si associa un data al strisce utilizzando un formato specifico? "MM / gg / aaaa hh: mm: ss"
<s:text name="myDateTime" formatPattern="MM/dd/yyyy HH:mm:ss" />
Soluzione
Typeconverters per la conversione parametri della richiesta (stringhe) da tipi specifici. Il Javadoc per il convertitore di tipo data predefinita può essere trovato qui:
net.sourceforge.stripes.validation .DateTypeConverter
Per modificare i formati predefiniti si afferma:
Questo set predefinito di formati può essere modificata prevedendo un diverso insieme di stringhe di formato nelle strisce pacchetto di risorse, o sub classificare e sovrascrivendo getFormatStrings (). In tutti i casi devono essere specificati i modelli utilizzando singoli spazi come separatori invece di barre, trattini o altri caratteri.
E
I tasti utilizzati nel resource bundle per specificare le stringhe di formato e il modello di pre-processo sono: stripes.dateTypeConverter.formatStrings e stripes.dateTypeConverter.preProcessPattern
Se questo non lo fa per voi, si può sempre rotolare Non Sei proprio TypeConverter . Questo convertitore tipo personalizzato può quindi essere legata ad un setter nel ActionBean da:
@Validate(converter=YourCustomTypeConverter.class)
public void setDate(Date date) {
this.date = date;
}
Se si desidera consentire la mappatura essere eseguita automaticamente si sia necessità di sovrascrivere il mapping predefinito o creare un altro (sotto) tipo. Ad esempio, si crea il proprio convertitore di tipi non per java.util.Date, ma per il proprio tipo personalizzato che eredita da java.util.Date. Come è solo un tipo di sub senza alcun comportamento in più, il resto dell'applicazione può essere utilizzato come java.util.Date.
Date date;
// No @validate needed, maps to MyCustomDate
public void setDate(MyCustomDate date) {
this.date = date;
}
Altri suggerimenti
<fmt:formatDate timeZone="${timeZone}" value="${date}" pattern="MM/dd/yyyy hh:mm a"/>
SimpleDateFormat sarà in grado di aiutare.