Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Struts - ActionsErros

  1. #1

    Struts - ActionsErros

    Ciao ragazzi...avrei bisogno di un'informazione riguardo l'uso di struts (ActionErrors). Ho visto che questo metodo "validate" è all'interno dell'actionform che uno si crea. Ma come devo comportarmi poi nell'ction che vado a crearmi?

    Supponiamo che ho un UtenteForm, al suo interno ho la variabile

    Codice PHP:
    private String nome;

    //Metodi getter e setter;

    //Metodo validate;
        
    public ActionErrors validate(ActionMapping mappingHttpServletRequest request) {
            
    ActionErrors errors = new ActionErrors();
            if (
    getNome() == null || getNome().length() < 1) {
                
    errors.add("name", new ActionMessage("error.nomeObbligatorio"));
                
    // TODO: add 'error.name.required' key to your resources
            
    }
            return 
    errors;
        } 
    nell'action dovrò importarmi cosa?Action errors?cioè non ho capito nulla per quanto riguarda questa funzione

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Struts - ActionsErros

    Originariamente inviato da PerformancePort
    Ho visto che questo metodo "validate" è all'interno dell'actionform che uno si crea. Ma come devo comportarmi poi nell'ction che vado a crearmi?

    nell'action dovrò importarmi cosa?Action errors?cioè non ho capito nulla per quanto riguarda questa funzione
    Se da validate() fai restituire un oggetto ActionErrors non vuoto (con errori aggiunti), allora non si arriva nemmeno alla "action". Struts fa un forward indietro al input form.
    Per dirla in altro modo, alla action si arriva solo se validate() restituisce null o un ActionErrors "vuoto", che appunto indica nessun errore trovato.

    Lo spiega in modo più completo qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ok grazie. con gli error mi va. Se invece sfrutto actionmessages no.

    Dunque mi sono istanziato una variabile locale di tipo ActionMessages;

    Codice PHP:
    ActionMessages messages = new ActionMessages();

    //Poi nell'action ho semplicemente messo:
    messages.add(Costanti.MESSAGGI_DA_STAMPARE, new ActionMessage("Ciao"));
     
    saveMessages(requestmessages);

    //La costante MESSAGGI_DA_STAMPARE contiene il valore: messages. 
    nella jsp ho semplicemente messo:
    Codice PHP:
            <logic:messagesPresent>
                    <
    html:messages id="messages">
                        <
    bean:write name="messages" filter="false" />

                    </
    html:messages>
            </
    logic:messagesPresent
    credo che sia tutto corretto no?Eppure non mi stampa niente

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da PerformancePort
    codice:
    <html:messages id="messages">
    <html:messages message="true" id="messages">

    Se non metti message="true" ricava i "global" errors invece che i "global" messages.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Hmm però continua a nn stampar nulla boh

  6. #6
    niente continua a non visualizzare nulla -_-

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da PerformancePort
    niente continua a non visualizzare nulla -_-
    Idem con <logic:messagesPresent> devi mettere message="true"

    Nota che il <logic:messagesPresent> puoi anche non usarlo se racchiudi solo html:messages.

    Cioè avrebbe senso se facessi ad esempio:

    codice:
    <logic:messagesPresent message="true">
        Ecco i messaggi di errore:
    
        <html:messages .......
    
    </logic:messagesPresent>
    Cioè metti altro da mostrare solo se ci sono messaggi. Allora sì, in questo caso un testo "logico" se ci sono messaggi ha senso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    ok ho semplicemente messo:

    Codice PHP:
            <html:messages message="true" id="messages">
                <
    bean:write name="messages" filter="false" />

            </
    html:messages
    nell'action:

    Codice PHP:
    ActionMessages messages = new ActionMessages();
    messages.add("messages", new ActionMessage("Ciao"));
    saveMessages(requestmessages); 
    però non stampa proprio nulla...che cavolo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.