Papu servletistä JSP:lle?

Miten saa joustavasti välitettyä pavun id-arvon
JSP-sivulle, jos servletti luo pavun ja hakee html-lomakkeelta tiedot papuun.

JSP:n pitäisi näyttää pavun sisältö. JSP-sivu ei löydä tätä papua, koska sillä ei ole ilmeisesti oikeaa id-arvoa, joten se luo uuden pavun.

Vastaava täytyisi tehdä myös tietokantatasolle, eli se onnistuu kätevästi välittämällä controllerissa pavun viittaus tietokantatasolle.
4226
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Kokeiles näin:

========================= Servlet
newsSystem.MessageBean message;
...
request.setAttribute("message", message);

========================= JSP

Äänestä
  • Tosi paljon kiitoksia, homma lähti heti pelittämään, laitoin servlettiin
    mainitsemasi metodin:
    request.setAttribute("message", message);

    Jolloin servletti asetti ilmeisesti pavulle
    id:ksi "message".

    Sain pavun sisällön näkyviin JSP-sivulla kun servletti oli sitä ensin muuttanut.

    Yritän tehdä JSP model 2-arkkitehtuurin mukaista sovllusta, jossa ainoastaan servletti, tai tietokantataso kontrollereina muuttavat pavun sisältöä.

    Olen miettinyt vielä sellaista ratkaisua, missä käyttäisin java API:n observeria, mutta täytyy vielä miettiä, koska jos tietokantatasolle viedään tietoa, se on silloin observer, eli kuuntelee papua, jos kantatasolta haetaan tietoa se on kontrollerin ominaisuudessa, eli kirjoittaa papuun ja silloin opserverina on JSP-sivu.

    Tästä mielenkiintoisen tekee se kun kerrotaan kaikille observereille että (papu), on muuttunut, niin kantatasolle ei saa kertoa ja/tai se ei saa reagoida siihen kun se on kontrollerin ominaisuudessa eli kun kannasta haetaan dataa.

    Mulla on tomcatti integroitu eclipseen, ja tomcatti antaa vaikeasti jäljitettäviä virheilmoituksia, poikkeuksen viesti ei kyllä paljoa kerro, kun jotain on pielessä.


    Täytyy kehitellä observer/observable-ideaa, kiitos homma pelittää.

    Äänestä

  • Tero kirjoitti:

    Tosi paljon kiitoksia, homma lähti heti pelittämään, laitoin servlettiin
    mainitsemasi metodin:
    request.setAttribute("message", message);

    Jolloin servletti asetti ilmeisesti pavulle
    id:ksi "message".

    Sain pavun sisällön näkyviin JSP-sivulla kun servletti oli sitä ensin muuttanut.

    Yritän tehdä JSP model 2-arkkitehtuurin mukaista sovllusta, jossa ainoastaan servletti, tai tietokantataso kontrollereina muuttavat pavun sisältöä.

    Olen miettinyt vielä sellaista ratkaisua, missä käyttäisin java API:n observeria, mutta täytyy vielä miettiä, koska jos tietokantatasolle viedään tietoa, se on silloin observer, eli kuuntelee papua, jos kantatasolta haetaan tietoa se on kontrollerin ominaisuudessa, eli kirjoittaa papuun ja silloin opserverina on JSP-sivu.

    Tästä mielenkiintoisen tekee se kun kerrotaan kaikille observereille että (papu), on muuttunut, niin kantatasolle ei saa kertoa ja/tai se ei saa reagoida siihen kun se on kontrollerin ominaisuudessa eli kun kannasta haetaan dataa.

    Mulla on tomcatti integroitu eclipseen, ja tomcatti antaa vaikeasti jäljitettäviä virheilmoituksia, poikkeuksen viesti ei kyllä paljoa kerro, kun jotain on pielessä.


    Täytyy kehitellä observer/observable-ideaa, kiitos homma pelittää.

    Kiva että olin avuksi. Observer-mallin käyttäminen jäi mietityttämään (en ymmärtänyt mitä hyötyä tässä) ja model 2-arkkitehtuurikin piti palauttaa mieleen sivulta

    http://java.sun.com/developer/technicalArticles/javaserverpages/servlets_jsp/

    Nykyisin laitan näin

    Selain
    -> JSP, controller
    -> Hibernate, db
    -> POJO-papu (Plain Old Java Object), model
    ->> Freemarker, view
    Vastaus selaimelle

    Äänestä

  • juu kirjoitti:

    Kiva että olin avuksi. Observer-mallin käyttäminen jäi mietityttämään (en ymmärtänyt mitä hyötyä tässä) ja model 2-arkkitehtuurikin piti palauttaa mieleen sivulta

    http://java.sun.com/developer/technicalArticles/javaserverpages/servlets_jsp/

    Nykyisin laitan näin

    Selain
    -> JSP, controller
    -> Hibernate, db
    -> POJO-papu (Plain Old Java Object), model
    ->> Freemarker, view
    Vastaus selaimelle

    Lähinnä observerin kohdalla vain treenaisin sitä, sitä käytetään oman käsitykseni mukaan MVC-mallissa kun halutaan paremmin toteuttaa eri osien vaihdettavuus. Ks. kirja java J2EE Mark Wutka sivu 858. Siinä on käytetty Holder-säiliötä joka on observable. Se tarkkailee sisältämiään tietoalkioita ja ilmoittaa Observer-luokille tietoalkion muutoksista. Näin näkymien ei tarvitse rekisteröityä suoraan tietoalkioon.

    Ajattelin myöhemmin kun kerkeän kokeilla vastaavaa ratkaisua java API:sta löytyvien Observer-Opservable rajapintojen ja luokkien avulla.

    Mulla ei ole vielä ihmeempiä hienouksia, väännän juttuja eclipsen tomcat-bluginin avulla ja kokeilen log4j- sekä proxool-komponentteja.

    Äänestä

Kommentoi aloitusta


Tero kirjoitti:

Miten saa joustavasti välitettyä pavun id-arvon
JSP-sivulle, jos servletti luo pavun ja hakee html-lomakkeelta tiedot papuun.

JSP:n pitäisi näyttää pavun sisältö. JSP-sivu ei löydä tätä papua, koska sillä ei ole ilmeisesti oikeaa id-arvoa, joten se luo uuden pavun.

Vastaava täytyisi tehdä myös tietokantatasolle, eli se onnistuu kätevästi välittämällä controllerissa pavun viittaus tietokantatasolle.

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