Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Ok, andiamo per ordine.

    Innanzitutto dalle immagini che hai postato si vedono 8 righe di dati. Sono quindi pochi, pertanto in teoria potrebbe anche aver senso passarli in query string. Ma se hai anche solo la minima idea che il numero di dati possa poi aumentare ... 30 ... 50 ... 100 righe, allora non puoi più passarli in query string, non sarebbe una buona cosa. La richiesta dovresti farla come POST invece che come GET. Quindi orientati verso il submit con POST in generale.

    Seconda cosa: il getParameter prende un solo valore (il primo) anche a fronte di più valori associati allo stesso nome. Esiste getParameterValues(String name) ma ci sono comunque delle questioni che devi considerare nel tuo caso.
    In generale non è buona cosa affidarsi alla sequenza dei valori ma poi c'è un'altra questione ancora più importante: come associ i valori ai code?

    Per farla breve, dovresti cercare di associare i valori ai code facendo generare parametri del tipo:

    qta001=12
    qta002=3
    ....

    O anche senza "qta" come prefisso (è solo una qualifica in più, nel caso dovessi avere anche altre tipologie di parametri) .. puoi scegliere tu! In questo modo, nella seconda pagina a fronte di un prodotto puoi comporre il nome e prendere direttamente il valore per quel code.


    Per finire, ti segnalo (e senza voler criticare o sminuire quanto stai svolgendo) che il modo di utilizzo delle JSP che stai facendo è parecchio dispersivo e inappropriato. Naturalmente posso pensare e capire che magari sei agli inizi .. non hai altre nozioni sufficienti, ecc... Quindi te l'ho detto giusto perché tu lo sappia.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Innanzitutto ti ringrazio di cuore per i tuoi consigli, per me sono davvero preziosi.
    Si sono all'inizio e questo è il primo ostacolo serio che ho incontrato

    Quote Originariamente inviata da andbin Visualizza il messaggio
    come associ i valori ai code?
    Per farla breve, dovresti cercare di associare i valori ai code facendo generare parametri del tipo:
    qta001=12
    qta002=3
    ....
    O anche senza "qta" come prefisso (è solo una qualifica in più, nel caso dovessi avere anche altre tipologie di parametri) .. puoi scegliere tu! In questo modo, nella seconda pagina a fronte di un prodotto puoi comporre il nome e prendere direttamente il valore per quel code.
    il problema è questo, sia la prima figura che la seconda ricevono i dati direttamente dal database.

    i dati nel database non devono(per il momento) venire toccati devono solo mostrarsi nelle views, l'unica cosa che cambia è nella visualizzazione della seconda view dove si vedono i dati messi nella textfield della view precedente, tutte le operazioni devono venire a livello di bean e di sessione non di DB.

    Il problema è proprio quello, come faccio a passare una sorta di array di stringhe da una view ad un altra passando solo per il bean di sessione e senza toccare il db, accade esattamente come dici tu, il request.getParameter() sta passando SOLO un valore e poi lo distribuisce a tutte le righe, come faccio a passare valori multipli presi dalla vista e non dal db?.... P.S. nel DB tutti i valori nell'ultima colonna sono inizializzati a ZERO e cosi vengono mostrati inizialmente nella prima view.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da frengo13 Visualizza il messaggio
    Il problema è proprio quello, come faccio a passare una sorta di array di stringhe da una view ad un altra
    L'ho detto brevemente prima, basta avere nomi di parametri che contengono in qualche modo il code. In modo che ogni quantità sia associata al code.

    Invece di emettere in output

    .....<input type="text" name="acquisto" value=...........

    fai emettere

    .....<input type="text" name="qtaXXX" value=...........

    Dove XXX e il code del prodotto corrente nel ciclo. Questo nome in forma qtaXXX (scegli tu la forma!) lo puoi comporre tanto nella prima pagina che nella seconda, perché in entrambe iteri su n prodotti e il code ce l'hai!

    E il getParameter quindi ora va benissimo perché prendi il valore in modo accurato per quel code.
    Ultima modifica di andbin; 09-01-2016 a 09:02
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Di nuovo grazie infinite della tua pazienza e dei tuoi consigli...la soluzione che mi hai dato funziona alla perfezione, in una pagina di prova ho infatti stampato a video e con successo i risultati in maniera indipendente...

    ho di fatto fornito la prima view di un contatore che passa alla view successiva aquisto1,acquisto2,...acquistoX
    codice:
    int cont=0;
    <input type=\"text\" name=\"acquisto"+ cont +"\" value=\" "+ quantA +" \"/>
    cont++;
    nella view riesco a stampare indipendentemente i valori in questa maniera:

    codice:
             int numA =Integer.parseInt(request.getParameter("acquisto1"));    
             int numB =Integer.parseInt(request.getParameter("acquisto2"));
             ...
             int numX =Integer.parseInt(request.getParameter("acquistoX"));
             
             out.println("<tr><td>"+ numA +"</td></tr>"); 
             out.println("<tr><td>"+ numB +"</td></tr>");
             ...
             out.println("<tr><td>"+ numX +"</td></tr>");
    perche non riesco a infilare un contatore dentro il request.getParameter()
    ho provato a far ciclare un intero all'interno in questa maniera

    codice:
    int cont = 1;
              int numA =Integer.parseInt(request.getParameter("acquisto"+counter)); 
              //...stampa e fa quello che deve fare
              cont++;
    ma non funziona sto sbagliando qualcosa per caso nella sintassi??

    Grazie ancora F.

  5. #5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    L'ho detto brevemente prima, basta avere nomi di parametri che contengono in qualche modo il code. In modo che ogni quantità sia associata al code.

    Invece di emettere in output

    .....<input type="text" name="acquisto" value=...........

    code.
    RISOLTO GRAZIE!!! ho fatto un .trim() alle stringhe perche contava gli spazi vuoti dalla conversione tra String a int...


    Grazie mille per tutto!!!

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.