Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Lettura jsp

  1. #1

    Lettura jsp

    Salve a tutti,
    sto scrivendo il seguente codice:
    codice HTML:
    [FONT=Monaco]		[/FONT]
    [FONT=Monaco]		<%[/FONT]
    [FONT=Monaco]	String [][] n = new String [][] {[/FONT]
    [COLOR=#3933FF][FONT=Monaco]	{"Italia", "1.4"},[/FONT][/COLOR]
    [COLOR=#3933FF][FONT=Monaco]	{"Francia", "2.4"},[/FONT][/COLOR]
    [COLOR=#3933FF][FONT=Monaco]	{"Austria", "1.8"},[/FONT][/COLOR]
    [COLOR=#3933FF][FONT=Monaco]	{"Slovenia", "1.5"},[/FONT][/COLOR]
    [FONT=Monaco]	};[/FONT]
    [FONT=Monaco]		%>[/FONT]
    [COLOR=#3933FF][FONT=Monaco]			<section id="footer">[/FONT][/COLOR]
    [COLOR=#3933FF][FONT=Monaco]						<div class="container">[/FONT][/COLOR]
    [COLOR=#3933FF][FONT=Monaco]							<div class="8u 12u$(small)">[/FONT][/COLOR]
    [FONT=Monaco]								<form method="post" action= "#">[/FONT]
    [COLOR=#3933FF][FONT=Monaco]									<div class="row uniform">[/FONT][/COLOR]
    [COLOR=#3933FF][FONT=Monaco]										<div class="6u 12u$(xsmall)"><input type="text" name="name" id="name" placeholder="Nazione" /></div>[/FONT][/COLOR]
    [COLOR=#3933FF][FONT=Monaco]										<div class="6u$ 12u$(xsmall)"><input type="submit" value="Cerca" /></div>[/FONT][/COLOR]
    [FONT=Monaco]									</div>[/FONT]
    [FONT=Monaco]								</form>[/FONT]
    [FONT=Monaco]							</div>[/FONT]
    [FONT=Monaco]					[/FONT]
    [FONT=Monaco]						<% String pn = request.getParameter("name").trim(); [/FONT]
    [FONT=Monaco]					[/FONT]
    [FONT=Monaco]						for (String []i : n) {[/FONT]
    [FONT=Monaco]						String nome = i[0]; [/FONT]
    [FONT=Monaco]						String valore = i[1];[/FONT]
    [FONT=Monaco]							[/FONT]
    [FONT=Monaco]						if (pn.length() == 0 || (pn.equalsIgnoreCase(nome))) {[/FONT]
    [FONT=Monaco]					%>[/FONT]
    [FONT=Monaco]			[/FONT]
    [FONT=Monaco]				 <p> <strong> <%=valore %> </strong> </p>[/FONT]
    [FONT=Monaco]					<% }%>[/FONT]
    [FONT=Monaco]					[/FONT]
    [FONT=Monaco]					<%}%>	[/FONT]
    [FONT=Monaco]				</div>[/FONT]
    [COLOR=#4E9192][FONT=Monaco]			</section>	[/FONT][/COLOR]
    Ho inserito dei dati entro la mia matrice, ho una form che mi chiede un nome e se il nome è uguale a uno dei miei dati devo stampare i valori ad esso associai.
    Tuttavia, ottengo Error 500 quando uso la sintassi jsp e nessun tipo di errore quando non la uso. Naturalmente il mio file è .jsp.

    Potete aiutarmi?
    Grazie a tutti

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    jsp si scrive con tutti quei FONT/COLOR/ECC

  3. #3
    codice:
        <%
        String [][] n = new String [][] {
        {"Italia", "1.4"},
        {"Francia", "2.4"},
        {"Austria", "1.8"},
        {"Slovenia", "1.5"},
        };
            %>
                <sectionid="footer">
                            <divclass="container">
                                <divclass="8u 12u$(small)">
                                    <form method="post" action="#">
                                        <divclass="row uniform">
                                            <divclass="6u 12u$(xsmall)"><inputtype="text"name="name"id="name"placeholder="Nazione"/></div>
                                            <divclass="6u$ 12u$(xsmall)"><inputtype="submit"value="Cerca"/></div>
                                        </div>
                                    </form>
                                </div>
                        
                            <% String pn = request.getParameter("name").trim(); 
                        
                            for (String []i : n) {
                            String nome = i[0]; 
                            String valore = i[1];
                                
                        
                        %>
                
                     <p> <strong> <%=valore %> </strong> </p>
                    
                        
                        <%}%>    
                    </div>
                </section>
    Eccomi scusa ora è meglio?
    Ultima modifica di Vincent.Zeno; 13-12-2016 a 18:30 Motivo: tolta la colorazione artificiosa del codice

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    sposto in JSP

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Martina! Visualizza il messaggio
    codice:
    <% String pn = request.getParameter("name").trim();
    Dato che questa pagina .jsp è usata sia per presentare il form all'inizio, sia come "target" del POST per inviare i dati, allora bisogna prestare un minimo di attenzione.
    Innanzitutto, quando richiedi la pagina per la prima volta (tra l'altro in GET da browser), i parametri ovviamente non ci sono. Se non ci sono, quel request.getParameter("name") ritorna null e un trim() invocato su un null ovviamente lancia un bel NullPointerException.

    Pertanto come minimo ci vuole qualche controllo in più, del tipo:

    codice:
    <%
    String pn = request.getParameter("name");
    
    if (pn != null) {
        // Qui hai il parametro, fai il resto qui dentro
    }
    
    
    //.......
    %>
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Perfetto, così mi viene. Ti chiedo un ultima cosa:

    io ho usato

    [CODE]<formmethod="post"action="#">/CODE]

    Tuttavia la mia ricerca è molto semplice e non vorrei si ricaricasse la pagina. Cosa mi consigli di usare allora?

    Grazie ancora

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Martina! Visualizza il messaggio
    Tuttavia la mia ricerca è molto semplice e non vorrei si ricaricasse la pagina. Cosa mi consigli di usare allora?
    Ricaricare una intera pagina è l'approccio tradizionale e basilare, che non dà problemi di sorta nei browser (a parte ovviamente lo svantaggio in termini di uso di tempo e networking).

    Se si vuole aggiornare solo una parte della pagina senza ricaricarla tutta, si può fare. Ma servono quelle che in generale si definiscono "tecniche AJAX". Ovvero innanzitutto si deve sfruttare Javascript lato client nel browser per eseguire delle richieste "asincrone" al server. Quando una richiesta asincrona parte, tu puoi continuare ad interagire con la pagina nel browser, scrollarla, cliccarci, scrivere ecc...
    Quando la risposta arriva, è sotto forma di "evento" gestito in Javascript.
    Per evitare i soliti (e noiosi) problemi di compatibilità tra i browser moderni (e quelli un po' più vecchiotti), sarebbe bene usare librerie Javascript apposite come JQuery o AngularJS.
    Quando si fa una richiesta asincrona al server in genere, tipicamente, è per ricevere dati (non pezzi di pagina HTML ... cioè si può anche fare ma è raro). Questi dati possono essere in vari formati ma tipicamente XML o ancora meglio (per Javascript) in JSON. Questi sono dati tipicamente molto ben "strutturati".
    Quando si riceve la risposta asincrona, questi dati strutturati li si estrae e manipola per andare a modificare il DOM (Document Object Model) della pagina per aggiornare solo i pezzi di pagina di interesse, aggiungendo, togliendo ecc... elementi della pagina.
    Anche qui, usare librerie apposite come JQuery/AngularJS/ecc... facilita MOLTO perché purtroppo anche sul DOM ci sono differenze e incompatibilità tra i vari browser.

    Insomma, se ricaricare la pagina è "facile", per usare tecniche AJAX dovresti studiare, acquisire e fare almeno 10 volte di più. Se hai tempo/voglia/capacità ... si può fare. Altrimenti se il tuo è solo un "esercizio" e/o non ci sono requisiti particolari, va sicuramente bene ricaricare tutto.
    Ultima modifica di andbin; 13-12-2016 a 21:55
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Tag per questa discussione

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.