JspInit()

miten voin tehdä seuraavan: jsp1.jsp sivulta siirryn jsp2.jsp sivulle. Kummallakin on jspInit() metodi koska käyttävät enterprise beaneja. Tältä ekalta sivulta siirryn linkin kautta toiselle sivulle parametrin kanssa, vaikkapa "nimi=eka". Toiselella otan tuon -> String apu = request.getParameter("nimi");
Nyt tarvitsisin saada tuon apu muuttujaan siiretyn nimi muuttujan arvon eli "eka" tämän toisen sivun jspInit() metodion sisälle. Kuitekaan se ei sinne mene vaan tulee arvoksi null. Tiedän että ei ole oikea idea mutta en tiedä muuta keinoa.Miten voin ratkasta ongelman?
8117
Äänestä

Muut lukivat myös

Vastaukset 8

Vanhimmat

..sen pitäisi toimia juuri noin ja oikein. todennäköisesti sulla on jokin virhe linkkiä luotaessa tai myös kirjoitusvirhe voi tulla kyseeseen.

Jonttu

Äänestä
  • tuo parametri tuolle toiselle sivulle ja pystyn sen ottamaan tuolla request.getParameter(..)- toiminnolla. Tämä tapahtuu ja jspInit taas . Ongelma on, että en saa tuota parametria tuohon jspInit metodiin eli näyttää tyhjää tai antaa virhee 'cannot resolve symbol...' Onko niin että kun tuo jspInit() on skripletin sisällä, sinne ei voida viedä määrittelyssä tehtyjä arvoja! Ja tuota request.getParameter(..) hommaa ei voida tehdä skriptletissä eli . Keksin nyt jo toisen ratkaisun eli hoidan homman java luokassa mutta mielnkiinnon vuoksi, mitenköhän tuon hoitaisi jsp- sivulla?

    Äänestä

  • Kyllä tulee... kirjoitti:

    tuo parametri tuolle toiselle sivulle ja pystyn sen ottamaan tuolla request.getParameter(..)- toiminnolla. Tämä tapahtuu ja jspInit taas . Ongelma on, että en saa tuota parametria tuohon jspInit metodiin eli näyttää tyhjää tai antaa virhee 'cannot resolve symbol...' Onko niin että kun tuo jspInit() on skripletin sisällä, sinne ei voida viedä määrittelyssä tehtyjä arvoja! Ja tuota request.getParameter(..) hommaa ei voida tehdä skriptletissä eli . Keksin nyt jo toisen ratkaisun eli hoidan homman java luokassa mutta mielnkiinnon vuoksi, mitenköhän tuon hoitaisi jsp- sivulla?

    ..riisuttu esimerkki jsp-filusta niin siitä varmaan näkyy ongelman aiheuttaja, joka on todennäköissti seurausta käytetyn muuttujan näkyvyydestä tai suoritusjärjestyksestä.

    Jonttu

    Äänestä

  • Jonttu kirjoitti:

    ..riisuttu esimerkki jsp-filusta niin siitä varmaan näkyy ongelman aiheuttaja, joka on todennäköissti seurausta käytetyn muuttujan näkyvyydestä tai suoritusjärjestyksestä.

    Jonttu

    sitä filua mukana jjoten yritän hahmotella sen tähän suurin piirtein eli ratkasevimmat osat ;)





    eli tulee tuon tunnuksen arvo tässä vaiheessa tuohon id muuttujaan.



    Sit sen jälkeen normaalisti tulostetaan listaa tälle sivulle. Toimii oikein. eli vain tuo parametrin saaminen java- luokkaan ei toimi.

    Toivottavasti ymmärtsit ;)

    Äänestä

  • Jep kirjoitti:

    sitä filua mukana jjoten yritän hahmotella sen tähän suurin piirtein eli ratkasevimmat osat ;)





    eli tulee tuon tunnuksen arvo tässä vaiheessa tuohon id muuttujaan.



    Sit sen jälkeen normaalisti tulostetaan listaa tälle sivulle. Toimii oikein. eli vain tuo parametrin saaminen java- luokkaan ei toimi.

    Toivottavasti ymmärtsit ;)

    ...johtuu varmaan siitä, että init-metodi suoritetaan (nimensä mukaisesti) ensimmäisenä, jolloin tuosta id:stä ei ole vielä harmainta hajua.

    Oletko kokeillut siirtää "String id = request.getParameter("tunnus");"-kohdan initmetodiin:



    t. Jonttu

    Äänestä

  • Jonttu kirjoitti:

    ...johtuu varmaan siitä, että init-metodi suoritetaan (nimensä mukaisesti) ensimmäisenä, jolloin tuosta id:stä ei ole vielä harmainta hajua.

    Oletko kokeillut siirtää "String id = request.getParameter("tunnus");"-kohdan initmetodiin:



    t. Jonttu

    mutta olen kokeillut eli skriptletissä eikä se tajua tuota requestia muuta kuin . Siksi oletan,että koska tuo jspInit() on myös skriptletissä, se ei toimi. Mutta voihan sitä kokeilla. Mutta eikös silloin tuo requestkin pitäisi määritellä???

    Äänestä

  • Jonttu kirjoitti:

    ...johtuu varmaan siitä, että init-metodi suoritetaan (nimensä mukaisesti) ensimmäisenä, jolloin tuosta id:stä ei ole vielä harmainta hajua.

    Oletko kokeillut siirtää "String id = request.getParameter("tunnus");"-kohdan initmetodiin:



    t. Jonttu

    edelliseen. Eli tuo request on ServletRequest interfacen ilmentymä ja sitä voi vain käyttää skriptleteissä ja lauseissa. Pystysiköhän tuota käyttämään siellä jspInit() metodissa java- tavalla???

    Äänestä

  • Onkelmapa kirjoitti:

    edelliseen. Eli tuo request on ServletRequest interfacen ilmentymä ja sitä voi vain käyttää skriptleteissä ja lauseissa. Pystysiköhän tuota käyttämään siellä jspInit() metodissa java- tavalla???

    ..niin siitähän se selviää. Ainakin getParameterin siirtäminen init-metodin kanssa samaan -tagin sisään voi auttaa. JSP:tä en tunne pätkääkään, mutta sanalla "public" voi olla piristävä vaikutus näkyvyyden kannalta.

    Jonttu

    Äänestä

Kommentoi aloitusta


JELP kirjoitti:

miten voin tehdä seuraavan: jsp1.jsp sivulta siirryn jsp2.jsp sivulle. Kummallakin on jspInit() metodi koska käyttävät enterprise beaneja. Tältä ekalta sivulta siirryn linkin kautta toiselle sivulle parametrin kanssa, vaikkapa "nimi=eka". Toiselella otan tuon -> String apu = request.getParameter("nimi");
Nyt tarvitsisin saada tuon apu muuttujaan siiretyn nimi muuttujan arvon eli "eka" tämän toisen sivun jspInit() metodion sisälle. Kuitekaan se ei sinne mene vaan tulee arvoksi null. Tiedän että ei ole oikea idea mutta en tiedä muuta keinoa.Miten voin ratkasta ongelman?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu