si si lo sostituisco con ActionError?
si si lo sostituisco con ActionError?
si, ho visto che è deprecato e va utilizzato ActionMessage
io uso una versione vecchia di struts, per quello a me va lo stesso
odio chi parla di politica..
anzi vorrei fondare un partito contro tutto ciò
Ok, dunque ho un metodo carica e li recupero la mia data dal form, poi sotto a questo metodo ho messo:
mentre all'interno di carica ho messo:Codice PHP:public static boolean isValidaData(String data, String formatToValidate) throws java.text.ParseException{
java.util.Date dateSimple = new SimpleDateFormat(formatToValidate).parse(data);
Format formatter = new SimpleDateFormat(formatToValidate);
if (!data.equals(formatter.format(dateSimple)))
return false;
return true;
}
ok? in MessageResources cosa devo mettere?Codice PHP:
if(!isValidaData(dataImplementataNuova, null)){
ActionErrors errori = new ActionErrors();
ActionMessage err = new ActionMessage("MessageResources");
errori.add("tipoErrore", err);
saveErrors(request,errori);
}
no chiamalo diverso, è il nome della proprietà che vai a richiamare e che descrive il tipo di errore
e nel file MessageResources.properties metti in un punto qualsiasi la proprietà e la sua descrizionecodice:ActionMessage err = new ActionMessage("dateInvalid");
fatto questo dovrebbe andarecodice:dateInvalid = Data non valida
![]()
odio chi parla di politica..
anzi vorrei fondare un partito contro tutto ciò
attento qui non puoi mettere null !!!Originariamente inviato da Angyles
mentre all'interno di carica ho messo:
Codice PHP:
if(!isValidaData(dataImplementataNuova, null)){
ActionErrors errori = new ActionErrors();
ActionMessage err = new ActionMessage("MessageResources");
errori.add("tipoErrore", err);
saveErrors(request,errori);
}
devi mettere il formato in cui si trova la tua data... anno mese giorno oppure con le barre ?
odio chi parla di politica..
anzi vorrei fondare un partito contro tutto ciò
ok thanks ^^ in MessageResources ? che devo metterci?
ok provo subito^^
Allora ricapitolo, nell'action ho:
alla fine di questo metodo ho messo:Codice PHP:public ActionForward caricaCatalogo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{
String dataPresa = mioForm.getData();
if(!isValidaData(dataPresa, "dd/MM/yyyy")){
ActionErrors errori = new ActionErrors();
ActionMessage err = new ActionMessage("dateInvalid");
errori.add("tipoErrore", err);
saveErrors(request,errori);
}
}
nella jsp invece ho messo:Codice PHP:
public static boolean isValidaData(String data, String formatToValidate) throws java.text.ParseException{
java.util.Date dateSimple = new SimpleDateFormat(formatToValidate).parse(data);
Format formatter = new SimpleDateFormat(formatToValidate);
if (!data.equals(formatter.format(dateSimple)))
return false;
return true;
}
<html:errors/>
nel file Message etc ho aggiunto:
dateInvalid = Data non valida
corretto?
non ancora... hai scordato il cast del form..
mioForm è un ActionForm e non ha il metodo getData(), devi prima castarlo alla tua classe form per farla..codice:public ActionForward caricaCatalogo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ String dataPresa = mioForm.getData();
odio chi parla di politica..
anzi vorrei fondare un partito contro tutto ciò
e la action non punta a nulla ?
deve mirare alle jsp a cui può portare l'action..
il che significa che nel file struts-config.xml devi mettere tutte le configurazioni (e spero tu le abbia già fatte) e nella tua action devi mettere il return alla pagina
codice:return mapping.findForward("nomeJspConfiguratoInStrutsConfig");
odio chi parla di politica..
anzi vorrei fondare un partito contro tutto ciò