Come si associa un data al strisce utilizzando un formato specifico? MM / gg / aaaa hh: mm: ss

StackOverflow https://stackoverflow.com/questions/3752200

  •  04-10-2019
  •  | 
  •  

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" />
È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top