Oletaan että tarvitaan esim monisivuinen rekisteröitymissovellus, ilman pipareita/palvelimella sijaitsevaa sessiodataa...
Onko Java:lle sellaista koodinpätkää että edellisillä www-sivuilla syötetyt tiedot saadaan pakattuna yhteen datasiirtokenttään, esim. ja lopussa kätevästi purettua? Jos ei ole niin miten siirtodatan voisi pakata ja koodata www-lomakkeeseen sopivaksi?
Onko Java:lle sellaista koodinpätkää että edellisillä www-sivuilla syötetyt tiedot saadaan pakattuna yhteen datasiirtokenttään, esim. ja lopussa kätevästi purettua? Jos ei ole niin miten siirtodatan voisi pakata ja koodata www-lomakkeeseen sopivaksi?
Vastaukset 6
Vanhimmat
Käyttämällä JSTL ja el-kieltä
niin esim näin.
WEB-INF/lib hakemistossa jstl.jar ja standard.jar
jsp sivun alkuun
${kaikki}
Löysin että asp.net:issä tuota kutsutaan nimellä viewstate. Vähänkin suuremmalla datamäärällä tuo lienee huono ratkaisu.
Muistin kätköistä kaivoin tavan jolla joskus moista toteutin. Erikoistunut luokka söi säilöttävien parametrien nimet ja tarvitttaessa palautti nuo arvoineen lomakkeelle (hidden-kenttinä)/URL:iin sopivassa muodossa.
Tämä parempi tapa kuin tuo ensimmäinen, eli tehdään jokaisesta parametristä lähetetystä kentästä
vastaanottavaan lomakkeeseen samanniminen
hidden kenttä.
Edelleen toteutettu jstl el
${parametri.key}=${parametri.value[0]}
Kiitos koodista. Ehkä data on sittenkin paras pitää serverillä ja hoitaa osoitus piparilla.
Hieman offtopicia, mutta JavaServer Facesilla pystyy valitsemaan, hoidetaanko sessionhallina palvelimen vai clientin päässä. Itse käytin yleensä client-pään tallentamista, jolloin JSF hoitaa siirtodatan upottamisen formiin koodatussa muodossa. Eli vaikka tällöin käytetään sessionhallintaa ihan normaalisti, ei kuitenkaan käytetä pipareita / sessiodataa, vaan kaikki upotetaan formiin, jonka framework hoitaa. Kätevää.
Aina sitä oppii. Kiitos tiedosta!