Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Struts] - form validation & input

    Salve a tutti, sarò brevissimo.

    - Sto validando un form che è all'interno di un .jsp incluso in tre pagine. Ognuna di queste pagine può effettuare una ricerca tramite questo form.

    - La validazione controlla se il prezzo minimo è maggiore del prezzo massimo (nel metodo validate della classe del formbean) e, se così, restituisce un messaggio d'errore (settato nell'ApplicationResources) sotto ai campi.

    Tutto funziona correttamente. Il problema è il reindirizzamento.

    - Dato che ognuna delle tre pagine può effettuare la ricerca, non so cosa mettere nel campo "input" del mapping della action dello struts-config.xml. Non posso settare una delle tre pagine poichè il reindirizzamento deve avvenire sulla stessa pagina da cui son "partito" (A --> A, B --> B, C --> C.. mentre se mettessi un valore fisso - diciamo B, dopo ogni errore anche se sono in A o in C verrei portato a B).

    - Ho creato allora una .jsp di redirect, che prende l'URL della richiesta e reindirizza (via response.sendRedirect()) sulla stessa URL.

    Funziona anche questo, ma così facendo perdo il messaggio d'errore (reindirizzando, la pagina viene ricaricata e quindi perde il settaggio dell'html:errors...

    Come posso bypassare il problema?

    Spero di essere stato chiaro.

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    69
    Sei stato chiaro, spero di esserlo anche io nel descriverti come ho risolto qualcosa di analogo:

    1. Ho inserito in una jsp solo i campi della ricerca (campiRicerca.jsp)
    2. Ho creato una o più jsp che includono campiRicerca.jsp all'interno di un form. In questo modo puoi creare tutte le pagine che vuoi. Esempio:

    Codice PHP:
    <h1>Ricerca A (ricercaA.jsp)</h1>
    <
    html:form action="actionA">
        <
    jsp:include page="campiRicerca.jsp" />
    </
    html:form>

    <
    h1>Ricerca B (ricercaB.jsp)</h1>
    <
    html:form action="actionB">
        <
    jsp:include page="campiRicerca.jsp" />
    </
    html:form>

    <
    h1>Ricerca C (ricercaC.jsp)</h1>
    <
    html:form action="actionC">
        <
    jsp:include page="campiRicerca.jsp" />
    </
    html:form
    3. Avendo delle jsp separate per ogni ricerca puoi creare degli action mapping specifici e che puntano al corretto "input".

    Spero di essermi spiegato e che quanto esposto possa esserti d'aiuto.

  3. #3
    Un'idea ottima.
    Purtroppo ho dimenticato di specificare che nell'include ci sono QUATTRO form (e quindi 4 chiamate all'action... è un pannello di ricerca con 4 tab che permette di switchare tra una e l'altra) e quindi la tua soluzione, che mi aveva illuminato la mattinata, non la posso usare...
    Grazie davvero comunque!

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.