Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Richiamare valore da un Metodo ad una JSP?[JSP]

    Buona sera,avrei un problemino, ho realizzato una .JSP per l'inserimento di un oggetto nel Db,tra le varie <Select><option></option> c'è la scadenza dell'offerta,che va da 1 a 7 gg, relativa all'oggetto in questione.

    Ovviamente ho fatto un controllo sulla gestione dei giorni,mesi,anno!
    Questa gestione, era inserita all'inizio, in una JSP che verificava la data,poi, tutto il controllo l'ho trasferito dentro un metodo(VerificaMese) in una classe(Calendario.java)!

    Il problema è, all'inizio potevo richiamare il valore,che avevo dentro una delle <option> con String scad = request.getParamenter("scadenza");,e non avevo problemi nel fare la verifica, adesso che ho il metodo(VerificaMese), con all'interno sempre la stessa variabile scad,come faccio a renderla dinamica?
    Nel senso che,come posso dirgli di prendere il valore che ho all'interno della <option> che ho nella mia JSP?

    Spero di essere stato chiaro....

    Grazie a tutti come sempre.....

  2. #2
    nessuno mi da una mano?
    Per favore....

  3. #3
    Ehy...non riesco proprio a risolvere!
    Mi date una mano?Per favore?

  4. #4
    Utente di HTML.it L'avatar di plafo
    Registrato dal
    Sep 2000
    Messaggi
    84
    non mi è chiara una cosa....la classe che hai creato dove e come la richiami?
    ti conviene postare il codice




    ciao ciao

    Carlo
    non può piovere per sempre

  5. #5
    Questa è la classe:
    import java.util.GregorianCalendar;
    import java.util.Calendar;
    import java.util.Date;

    public class Calendario {

    public Calendario(){
    }
    public String VerificaMese(){

    GregorianCalendar gc = new GregorianCalendar();

    int giorno = gc.get(Calendar.DAY_OF_MONTH);
    int mese = gc.get(Calendar.MONTH)+1;
    int anno = gc.get(Calendar.YEAR);

    String giornoTot = giorno +"/"+ mese +"/"+ anno;

    int scadenza_anno = anno;
    String data = giornoTot;


    int data_inserimento = gc.get(Calendar.DAY_OF_MONTH);
    int scad = 7;//giorni di scadenza scelti dal cliente //controllo da 1 --> 7gg
    int mese_attuale = gc.get(Calendar.MONTH)+1;

    int Gennaio = gc.JANUARY+1;//31gg
    int Febbraio = gc.FEBRUARY+1;//28-29gg
    int Marzo = gc.MARCH+1;//31gg
    int Aprile = gc.APRIL+1;//30gg
    int Maggio = gc.MAY+1;//31gg
    int Giugno = gc.JUNE+1;//30gg
    int Luglio = gc.JULY+1;//31gg
    int Agosto = gc.AUGUST+1;//31gg
    int Settembre = gc.SEPTEMBER+1;//30gg
    int Ottobre = gc.OCTOBER+1;//31gg
    int Novembre = gc.NOVEMBER+1;//30gg
    int Dicembre = gc.DECEMBER+1;//31gg
    int gg31 = 31;
    int gg30 = 30;
    int gg28 = 28;
    int gg29 = 29;

    int scad_offerta=0;
    String scad_off="";
    int scarto_gg=0;
    String nome_mese ="";

    scad_offerta = data_inserimento + scad;

    if(mese_attuale!=Febbraio && mese_attuale!=Aprile && mese_attuale!=Giugno && mese_attuale!=Settembre && mese_attuale!=Novembre){

    //controllo sui giorni effettivi
    //Se supera il 31esimo gg deve passare al mese successivo

    if(scad_offerta>gg31){//Casistiche per somma scarto_gg(mese precendente) al mese successivo
    //Gennaio --> Febbraio || Marzo --> Aprile || Maggio --> Giugno
    //Luglio --> Agosto || Agosto --> Settembre || Ottobre --> Novembre
    //Dicembre --> Gennaio

    scarto_gg = scad_offerta - gg31;
    //il risultato lo vado a sommare ai giorni del mese successivo
    //controllo sul mese precedente
    if(mese_attuale==Gennaio){

    scad_off = scarto_gg + "/" + Febbraio + "/" + scadenza_anno;
    }
    else if(mese_attuale==Marzo){
    scad_off = scarto_gg + "/" + Aprile + "/" + scadenza_anno;
    }
    else if(mese_attuale==Maggio){
    scad_off = scarto_gg + "/" + Giugno + "/" + scadenza_anno;
    }
    else if(mese_attuale==Luglio){
    scad_off = scarto_gg + "/" + Agosto + "/" + scadenza_anno;
    }
    else if(mese_attuale==Agosto){
    scad_off = scarto_gg + "/" + Settembre + "/" + scadenza_anno;
    }
    else if(mese_attuale==Ottobre){
    scad_off = scarto_gg + "/" + Novembre + "/" + scadenza_anno;
    }
    else if(mese_attuale==Dicembre){
    scad_off = scarto_gg + "/" + Gennaio + "/" + scadenza_anno;
    }
    }
    }
    else if(mese_attuale!=Gennaio && mese_attuale!=Febbraio && mese_attuale!=Marzo && mese_attuale!=Maggio && mese_attuale!=Luglio && mese_attuale!=Agosto && mese_attuale!=Ottobre && mese_attuale!=Dicembre){
    if(scad_offerta>gg30){
    //Casistiche per somma scarto_gg(mese precendente) al mese successivo
    //Aprile --> Maggio || Giugno --> Luglio || Settembre --> Ottobre
    //Novembre --> Dicembre
    scarto_gg = scad_offerta - gg30;
    //il risultato lo vado a sommare ai giorni del mese successivo

    if(mese_attuale==Aprile){
    scad_off = scarto_gg + "/" + Maggio + "/" + scadenza_anno;
    }
    else if(mese_attuale==Giugno){
    scad_off = scarto_gg + "/" + Luglio + "/" + scadenza_anno;
    }
    else if(mese_attuale==Settembre){
    scad_off = scarto_gg + "/" + Ottobre + "/" + scadenza_anno;
    }
    else if(mese_attuale==Novembre){
    scad_off = scarto_gg + "/" + Dicembre + "/" + scadenza_anno;
    }
    }
    }

    else if(mese_attuale!=Gennaio && mese_attuale!=Marzo && mese_attuale!=Aprile && mese_attuale!=Maggio && mese_attuale!=Giugno && mese_attuale!=Luglio && mese_attuale!=Agosto && mese_attuale!=Settembre && mese_attuale!=Ottobre && mese_attuale!=Novembre && mese_attuale!=Dicembre){

    if(scad_offerta>gg28 || scad_offerta>gg29){
    scarto_gg = scad_offerta - gg28;
    scarto_gg = scad_offerta - gg29;
    if(mese_attuale==Febbraio){
    scad_off = scarto_gg + "/" + Marzo + "/" + scadenza_anno;
    }
    }
    Febbraio = gg28;
    Febbraio = gg29;
    }
    return scad_off;
    }

    Il problema è questo:
    int scad = 7;//giorni di scadenza scelti dal cliente //controllo da 1 --> 7gg

    Il valore int scad = 7; cosi come è impostato è statico, a me serve dinamico nel senso che,l'utente sceglie da 1 a 7, i giorni che l'offerta sia valida.
    Adesso la mia domanda è:
    Come posso, dall'interno di un metodo,di una classe,richiamare un valore che ho tra le <option></option> gestite in una JSP?

    Spero sia + chiaro adesso....
    Ovvio che questo carrello degli acquisti,è solo per esercitazione!
    Aiutatemi per favore...ciao ciao

  6. #6
    La classe la richiamo nella JSP cosi:
    <jsp:useBean id="scadenza" scope="session" class="Calendario" />

    String scade = "";
    scade = scadenza.VerificaMese();//verifica della data

    Come puoi notare è semplicissimo....
    Ma come faccio a passare un valore che ho dalla JSP ad una variabile all'interno di un metodo?

    PEr es: per passare un valore String all'interno delle varie pagine jsp,ci sono alcuni modi,tra i quali, request.getParameter("nome_parametro"),

    Ma passare un valore ad una variabile all'interno di un metodo,non lo so proprio....


    Ciao ciao

  7. #7
    la classe deve essere una servlet.. o deve essere utilizzata da una servlet che richiami sul submit del form. Le servlet hanno dei metodi che ricevono HttpServletRequest e HttpServletResponse.
    A questo punto tratta il parametro HttpServletRequest come faresti normalmente nella jsp.
    request.getParameter("nome_parametro").
    dove "nome_parametro" è il nome dell'oggetto select nel tuo caso.. ed avrà associato il valore della selezione.


    Ciao.
    ► ☺ ◄

  8. #8
    Utente di HTML.it L'avatar di plafo
    Registrato dal
    Sep 2000
    Messaggi
    84
    come ha già scritto patrix devi utilizzare le servlet per ottenere quello che vuoi; ti consiglio di crearne una nuova....
    se hai bisogno di ulteriori spiegazioni chiedi pure!!!!




    ciao ciao

    Carlo
    non può piovere per sempre

  9. #9
    Quindi in pratica no devo stravolgere il controllo sulla data che ho all'interno della classe,ma devo solo trasformarla in una servlet giusto?

    Tipo la costruzione di un cookie?
    Cosi:

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;

    public class AddCookie extends HttpServlet{


    public void service(HttpServletRequest req,HttpServletResponse res) throws IOException{


    res.setContentType("text/html");
    PrintWriter out = res.getWriter();
    out.println("<html><head>");
    out.println("<title>" + getClass().getName() + "</title>");
    out.println("</head>");
    out.println("<body>");

    Cookie [] cookies = req.getCookies();
    if(cookies.length > 0){

    out.println("Lista dei cookie presenti
    ");
    out.println("<table border=1>");
    for(int i=0; i<cookies.length;i++){

    out.println("<tr>");
    out.println("<td>getName()</td>");
    out.println("<td>{" + cookies[i].getName() + "}</td>");
    out.println("</tr><tr>");
    out.println("<td>getValue</td>");
    out.println("<td>{" + cookies[i].getValue() + "}</td>");
    out.println("</tr><tr>");
    out.println("<td>getSecure</td>");
    out.println("<td>{" + cookies[i].getSecure() + "}</td>");
    out.println("</tr><tr>");
    out.println("<td>getMaxAge</td>");
    out.println("<td>{" + cookies[i].getMaxAge() + "}</td>");
    out.println("</tr>");
    }
    out.println("</table>");
    out.println("Fine Lista
    ");
    }
    else{
    Cookie c = new Cookie("CookieTest","Time is " + System.currentTimeMillis());
    c.setComment("Cookie di prova");
    c.setMaxAge(5);
    //c.setSecure();
    res.addCookie(c);
    out.println("Cookie aggiunto
    ");
    }
    out.println("</body>");
    out.println("</html>");
    }
    }

    Dovrebbe essere cosi...... è una classe,ma è come se fosse una semplice jsp,in quanto implementa codice HTML per la restituzione dei dati.....?

    Grazie per la spiegazione ragazzi.....

  10. #10
    Ho dimenticato di dirvi che il tutto si svolge in due pagine jsp ovvero,nell'AreaVendita.jsp si inserisce l'oggetto tramite input type=text,<select><option>,e cosi via, e nella seconda cioè ConfermaInserimento.jsp,faccio tutti i controlli necessari, e l'Insert dei dati in una Tabella.
    Adesso vi posto il codice perchè sto provando a realizzare una servlet ma,non riesco a capire bene,come fare...
    Questo è il codice dell'AreaVendita.jsp:

    <form action="ConfermaInserimento.jsp" method="post">



    <hr>Inserisci il tuo Oggetto


    <hr>



    <table border="1" width="500" height="400" bgcolor="#ffcc33">
    <tr>
    <td align="center">Titolo dell'oggetto in vendita!


    *<input type="text" name="titolo" size="50" maxlength="45">




    </td>
    </tr>
    <tr>
    <td align="center">Inserisci il prezzo dell'oggetto!
    *<input type="text" name="prezzo" size="2" maxlength="4" value="0000">,00 Euro




    </td>
    </tr>
    <tr>
    <td align="center">Inserisci la quantità dell'oggetto!

    *<SELECT name="quantità" >
    <OPTION value="0">0</OPTION>
    <OPTION value="1">1</OPTION>
    <OPTION value="2">2</OPTION>
    <OPTION value="3">3</OPTION>
    <OPTION value="4">4</OPTION>
    <OPTION value="5">5</OPTION>
    </SELECT>



    </td>
    </tr>
    <tr>
    <td align="center">Inserisci una breve descrizione dell'oggetto!
    *

    <textarea cols="70" rows="10" name="body"></textarea>




    </td>
    </tr>
    <tr>
    <td align="center">Inserisci il tempo massimo di durata della tua offerta!
    *<SELECT name="scadenza" >
    <OPTION value="0">0</OPTION>
    <OPTION value="1">1</OPTION>
    <OPTION value="2">2</OPTION>
    <OPTION value="3">3</OPTION>
    <OPTION value="4">4</OPTION>
    <OPTION value="5">5</OPTION>
    <OPTION value="6">6</OPTION>
    <OPTION value="7">7</OPTION>
    </SELECT>





    </td>
    </tr>
    <tr>
    <td align="center">Inserisci l'eventuale foto dell' oggetto!


    <input type="file" id="foto" name="foto">

    </td>
    </tr>
    </table>
    <input type="text" name="login" id="login" value="mario">




    <input type="Submit" name="Submit" value="Invia">
    </form>

    E questo è il codice dei ConfermaInserimento.jsp:


    <jsp:useBean id="oggetto" scope="session" class="ConnessioneDB" />
    <jsp:useBean id="scadenza" scope="session" class="Calendario" />
    <jsp:useBean id="path" scope="session" class="PathImmagini" />
    <%@ page import="java.sql.*" %>


    <HTML>
    <HEAD>
    <META name="GENERATOR" content="IBM WebSphere Studio">
    <TITLE>ConfermaInserimento.jsp</TITLE>
    </HEAD>
    <BODY bgcolor="#999999">

    <%
    String titolo = request.getParameter("titolo");
    float prezzo = Float.parseFloat(request.getParameter("prezzo"));
    int quantità = Integer.parseInt(request.getParameter("quantità")) ;
    String descrizione = request.getParameter("body");
    int scad = Integer.parseInt(request.getParameter("scadenza")) ;

    String scade = "";
    //String path_foto = request.getParameter("foto");//la path la devo integrare con quella della classe
    String path_foto = path.pathLogo();
    String login = request.getParameter("login");

    String data_inserimento = scadenza.GetDataOdierna();

    //Controllo sul titolo
    if(titolo.equals("") || prezzo<=0 || quantità<1 || descrizione.equals("") || scad<1 || login.equals("")){
    //La path_foto si può omettere nel caso in cui il cliente non abbia la foto
    out.println("<font face=verdana color=red size=3>Devi Riempire tutti i campi con l'asterisco!
    " +
    "Torna <a href=AreaVendita.jsp>Indietro</a></font>" + "");
    }
    else{


    //al posto di questa chiamata devo implementare la chiamata ad una servlet
    scade = scadenza.VerificaMese();//verifica della data

    //Inserimento alla fine di tutti i controlli
    String sqlInsScad = ("Insert into CatalogoDVD values(" + "'" + titolo.trim() + "'" +
    "," + prezzo +
    "," + quantità +
    "," + "'" + descrizione.trim() + "'" +
    "," + "'" + scade + "'" +
    "," + "'" + login.trim() + "'" +
    "," + "'" + path_foto.trim() + "'" +
    "," + "'" + data_inserimento + "'" +
    ")");

    ConnessioneDB insScad = new ConnessioneDB();
    boolean sc = insScad.apriConnessione(sqlInsScad);

    out.println("

    <center><hr>
    " +
    "<font face=verdana color=blue size=2>Oggetto inserito nella nostra Vetrina Virtuale!</font>" +
    "
    <hr>

    " +
    "Vai nel nostro <a href=CatalogoDVD.jsp>Catalogo DVD</a>" +
    "
    " +
    "Qui, puoi vedere il tuo oggetto in vendita e, potrai comprare altri oggetti!" +
    "
    " +
    "<h3>Buon Shopping!!!!!</h3></center>" + "");

    }
    %>

    Come vi ho detto in precedenza utilizzo la classe Calendario per la gestione delle date.

    Adesso vorrei capire,grazie al vostro gentile aiuto come realizzare questa benedetta servlet...

    Grazie.... abbiate pietà..

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