Visualizzazione dei risultati da 1 a 5 su 5

Discussione: jsp select

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    22

    jsp select

    salve a tutti.
    ho la seguente struttura in un file jsp:


    codice:
    <label for="file">Tipo File: </label>
    <select name="file" id="file">
    <option value="file" selected>Seleziona il file </option>
    <option value="d1.jsp" >d1</option>
    <option value="d2.jsp">d2</option>
    <option value="d3.jsp">d3</option>
    </select>
    <input type="submit" value="Carica dati" name="dati">
    <%
    
    codice
    
    %>
    ogni volta che "premo" carica dati ,fa quello che deve fare ma, nel combo della pagina non rimane la scelta effettuata ma ritorna Seleziona il file.
    é una sciochezza lo so, ma vorrei che nella select rimanesse il nome del file selezionato (d1 d2 d3).
    C è un modo per farlo?

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Per ogni opzione devi scrivere qualcosa del tipo

    if (condizioneOpzioneSelezionata) {
    %>
    <option value="..." selected>...</option>
    <% } else { %>
    <option value="...">...</option>
    <% } %>
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

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

    Re: jsp select

    Originariamente inviato da Katia82
    ogni volta che "premo" carica dati ,fa quello che deve fare ma, nel combo della pagina non rimane la scelta effettuata ma ritorna Seleziona il file.
    é una sciochezza lo so, ma vorrei che nella select rimanesse il nome del file selezionato (d1 d2 d3).
    C è un modo per farlo?
    Sì, ma innanzitutto al seguito della submit dove si va? Sulla stessa JSP? O a una Servlet e poi tramite forward a quella stessa JSP?

    Comunque, a parte questo, quando quella JSP viene rieseguita, sei tu che devi mandare in output l'attributo 'selected' solo per quella opzione il cui value era stato inviato come parametro al submit.

    Dovendolo fare tu "a mano", la cosa risulta un po' "sporca" .... questo è uno dei motivi per cui esistono framework appositi come Struts e altri.

    Perchè dovresti fare una cosa del tipo:
    codice:
    <% String fileVal = request.getParameter("file"); %>
    ...
    
    <option value="d1.jsp" <% if ("d1.jsp".equals(fileVal)) {%>selected<%}%>>d1</option>
    <option value="d2.jsp" <% if ("d2.jsp".equals(fileVal)) {%>selected<%}%>>d2</option>
    .....
    Soluzione che quindi è "sporca" e poco leggibile. Ma si sa .... è più o meno così se non si usano framework appositi. E prima lo comprendi ... meglio è ...
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    22
    ciao,
    dopo la submit si va su un altro file jsp che poi ritorna....ho provato come hai detto te..ma non va....dopo la submit nella select mi compare di nuovo seleziona file...cosa mi consigli???
    aiutoooooo vi prego

  5. #5
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Originariamente inviato da Katia82
    ciao,
    dopo la submit si va su un altro file jsp che poi ritorna....ho provato come hai detto te..ma non va....dopo la submit nella select mi compare di nuovo seleziona file...cosa mi consigli???
    aiutoooooo vi prego
    hai due possibilità, ma devi aver chiaro il concetto di request e di session.

    Il form è nella jsp1, da qui vai nella jsp2 e poi torni nella jsp1 dove vorresti selezionare l'opzione giusta.

    1. Nella jsp2 (o nella servlet tra le due jsp) puoi mettere in sessione i parametri della request relativi alla tua option. Quando torni nella jsp1, farai i test in base a quello che c'è in sessione.
    Questo ha una controindicazione: ogni volta che torni nella js1 rivedrai la scelta fatta l'ultima volta che hai fatto submit, a meno di ulteriori elaborazioni sui parametri passati via request.

    2. nella jsp2 leggi i parametri relativi alla option della jsp1, e quando torni alla jsp2 ti assicuri di passarli via get o via post.
    Puoi farlo passando questi dati come parametri dell'url (GET) oppure creando degli input di tipo hidden (POST) oppure giocando con javascript.
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

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 © 2026 vBulletin Solutions, Inc. All rights reserved.