Mitä sinä käytät ja miksi?
* Struts
* Turbine
* Tapestry
* WebWork
* Cocoon
* Spring
* Maverick
* SOFIA
* Verge
* Anvil
* Jaffa
* Japple
* JPublish
* Jucas
* MyFaces
* WebOnSwing
* Chrysalis
* VRaptor
* Swinglets
* Millstone
* Wicket
* SwingWeb
* Barracuda
* RIFE
http://java-source.net/open-source/web-frameworks
* Struts
* Turbine
* Tapestry
* WebWork
* Cocoon
* Spring
* Maverick
* SOFIA
* Verge
* Anvil
* Jaffa
* Japple
* JPublish
* Jucas
* MyFaces
* WebOnSwing
* Chrysalis
* VRaptor
* Swinglets
* Millstone
* Wicket
* SwingWeb
* Barracuda
* RIFE
http://java-source.net/open-source/web-frameworks
Vastaukset 11
Vanhimmat
Olen nyt reilun kuukauden ajan tutustunut JavaServer Face:een ja tehnyt sillä yhden sovelluksen ja ainakin näillä kokemuksilla tulen myös pysymään siinä. Aluksi hieman nikotutti JSF:n sql tagien puute mutta kun sain JSF:n ja JSTL:n loistavat sql-tagit toimimaan keskenään niin tämä ympäristö sopii minun tarkoituksiini.
Kysymykseen miksi vastaus: Sovelluksen kehittäminen nopeutuu selvästi (verrattuna aikaisempaan, missä toimin lähinnä JSP,JSTL, Servlet ympäristössä ).
Samoin selkeä MVC joten helppo "lukea" koodia.
(JSF:ään on jo olemassa/tulossa (SUNCreator) wysiwyg kehitysympäristö) Itse pidän edelleen JCreator Le:stä jolla JSF MyFaces implementaation
Niin kauan kun JSF:ssä linkit rikkovat koko HTML:n perusajatusta vastaan käsittämättömillä javascript-häkkyröillään, en koske kyseiseen kehykseen pitkällä tikullakaan. Hassuinta on, että edes JSP ja JSF eivät ymmärrä toisiaan (JSTL EL versus JSF EL - HALOO?!). Ei mene Sunillakaan vahvasti kun ensin piti apinoida ASP ja nyt kun huomattiin, että meinasi mennä koko Java persiilleen sen takia, niin eikös kopsita heti seuraava jööttikikkare Mikkisoftalta...
Ja itse kysymykseen: Tapestry on hyvä, Struts kelpaa, Wicket vaikuttaa erittäin mielenkiintoiselta ja Cocoon on ässä XML-pohjaisissa softissa.
Mitä tarkoitat "JSF:ssä linkit rikkovat koko HTML:n perusajatusta vastaan käsittämättömillä javascript-häkkyröillään".
Tarkoitako tällä ettei JSTL EL toimi JSF EL.
"Hassuinta on, että edes JSP ja JSF eivät ymmärrä toisiaan (JSTL EL versus JSF EL - HALOO?!)."
JSP sivuilla tehdyt JSTL EL (${}) toimii hienosti
tagien sisällä kun käytetään #{} ja toisinpäin.
Lisäksi uskon vakaasti että JSF kehittävät henkilöt osaavat asiansa.
Kiinnostaisi nähdä erittäin yksinkertainen esimerkki JSP/JSF/JSTL-käytöstä (tai jonkin frameworkin). Olisikohan jossakin esimerkki tyyliin:
* Lomake, päivämääräkenttä (muotoa päivä.kuukausi.vuosi) ja tarkasta-painike.
* Kentän oikeellisuus tulisi tarkastaa ja virheellisyyksistä ilmoittaa.
* Käyttäjällä olisi mahdollisuus muokata virheellisesti syöttämäänsä tietoa.
* Oikeamuotoinen tieto olisi saatavilla Java-olioina (String:ien sijaan)
Tein kokeilun, joka toteuttaa yllämainitut, mutta haluaisin nähdä vaihtoehtoisia toteutustapoja.
Lomakkeen määrittelevä osa on alla. Se on muokattavissa esim. NVU:lla. Jotta toiminnallisuuden takana olevaa ohjelmakoodia voisi oikeasti käyttää, metodin kasittelePvm (runsas kaksikymmentä riviä) toimintaa pitäisi vielä viilata.
===============================================
Pvm: ${pvm_vikaa}
Pvm2: ${pvm2_vikaa}
Pidän erityisesti JSF(MyFace implementaation) x:inputCalendar tagista.
Tagi tekee
Esimerkkisi on selkeä, kiitos siitä! Mainitsemastasi Javascript-paikasta löytyy muutakin mielenkiintoista.
http://www.mattkruse.com/javascript/
> Tarkoitako tällä ettei JSTL EL toimi JSF EL.
Juu. Tässä Sunin viimeisin ilmoitus asiasta:
"We're pleased to announce the availability of the Early Draft Review of the next versions of the specification for JavaServer Pages and Faces. JavaServer Pages (JSP) 2.1 is developed under JSR-245 and JavaServer Faces (Faces) 1.2 is developed under JSR-252. The two expert groups are working together to improve the alignment between these two powerful web presentation technologies. The foremost such alignment issue is the Expression Language, as stated in both JSRs."
Ihan ensiksi: "two powerful web presentation technologies". Hoh hoh hoh. Että kehtaavat vielä onnitella itseään tuollaisten kuvotusten kehittelystä. Viiraakohan niillä ihan oikeasti nupista.
Tässä ovat siis kahden Javan kaikkien aikojen epäonnistuneimman "expertti-ryhmän" jampat nyt vihdoin ja viimein vilkaisemassa vähän sivuilleen. En tosin odota tulokseksi yhtään mitään edes puoliksi täysjärkistä.
> Mitä tarkoitat "JSF:ssä linkit rikkovat koko
> HTML:n perusajatusta vastaan käsittämättömillä
> javascript-häkkyröillään".
Sitä, että JSF:ssä ainakin viimenäkemältä hyperlinkit (joihin koko internet pitkälti perustuu), oli korvattu joillain ihme javascript-vimpautuksilla, koko sivu oli yhtä formia ja kaikkia muita todella oksettavia yksityiskohtia.
Kokeilepa vaikka tätä JSF-demosaittia ilman javaskriptiä:
http://irian.at/myfaces/home.jsf
Ei toimi.
Suosittelen tutustumaan vaikka Tapestry- tai Wicket-projekteihin. Siltä tieltä tosin ei ole paluuta :)
"Sitä, että JSF:ssä ainakin viimenäkemältä hyperlinkit (joihin koko internet pitkälti perustuu), oli korvattu joillain ihme javascript-vimpautuksilla, koko sivu oli yhtä formia ja kaikkia muita todella oksettavia yksityiskohtia.
Kokeilepa vaikka tätä JSF-demosaittia ilman javaskriptiä:
http://irian.at/myfaces/home.jsf "
Tuossa Demo-esimerkissä on toteutettu MyFaces implementaation
Ite käytän pääasiassa strutia. Helppo tehdä MVC -tyylillä webbi-sovelluksia. Homma siis pysyy järjestyksessä ja loogisena.
Tagit jsp-sivuilla ovat selkeitä ja riittävät todella moneen käyttöön. Ei tarvitse käyttää javaa jsp-sivuilla.
Saa helposti toistuvat elementit sivuille kuten headerit, footerit jne. Jos tarvitsee tehdä sivuille eri kieliversioita, niin onnistuu helposti.
Myös pavelin- ja selainpään virheentarkistukset onnistuvat aika vaivatta. Mukana hyviä virheentarkistus javascriptejä xml:ssä, joita voi käyttää selainpään tarkistuksessa.
Sivuilta toiseen liikkumiset, tietokanta-asetukset yms. voi määritellä myös xml-tiedostoihin, joten niiden hallinnointi helppoa.
Ja lisäksi Struts on niin suosittu, että netistä löytyy hyviä esimerkkejä ja kirjallisuuttakin on.
SQL-toiminnot tossa taitaa olla aika miinuspuoli.
Mistä löytyisi lyhyt esimerkki, josta näkisi miten lomakkeen tietojen käsittely tehdään ja esim. päivämääräkentän sisältö tarkastetaan?