[Java lista] Tapestry ASO

Stef stefhun at gmail.com
2006. Okt. 31., K, 09:30:18 CET


Sziasztok!

Csak a lista dokumentaltsaga miatt irok sajat magamnak, hogy a megoldas
meglegyen (mar amennyire megvan...). De lehet, hogy ez senkit sem erdekel,
es inkabb a leiratkozos leveleket olvassa :-)

Arra az eredményre jutottam, hogy a tapestry 4-es nem fogadja el a
*.page-ekben az <inject> hivatkozast, csak a Home oldalon. Minden mas
oldalon az oldalhoz tartozo class-ban a @InjectState("inject-class")
annotaciot kell hasznalni.

Tudja valaki, hogy miert igy kell hasznalni? Miert kell annotacioval
kikenyszeriteni az ASO hasznalatot?

A tapestry oldalan errol az annotaciorol egy szo sincs irva, csak az
<inject> elemrol. :-(
Sot, a kerdeses oldalon (
http://tapestry.apache.org/tapestry4/UsersGuide/state.html) ez van az
"Accessing Application State Objects" reszen: <inject name="registration"
type="state" object="registration-data"/>. Hat, ezt nagyon nem ette meg a
tapestry, csak a <inject property="registration" type="state"
object="registration-data"/> -et. Es nem is talaltam name attributumot az
<inject> leirasaban (
http://tapestry.apache.org/tapestry4/UsersGuide/spec.html#spec.inject). Ez
mi lehet? Eliras?

Most mar elerem a sajat ASO class-omat minden szukseges oldalon, es persze
igy mar tudok ra hivatkozni az
ognl:inject-class.sajat_propertyhivatkozassal a html-ben, es nincs
szukseg a *.page-ben egy sorra sem.

Udv!
Stef

2006/10/30, Stef <stefhun at gmail.com>:
>
> Sziasztok!
>
> Tapestry-ban szeretném megvalósítani azt, hogy legyen egy session
> osztályom, mely minden oldalon elerheto.
> Mivel 4-es verziót használok, ezért az "Application State Objects"-et kell
> használnam, mert a visit class már decepreated.
> a hivemind-ben regisztraltam is a class-omat:
>     <contribution
>         configuration-id="tapestry.state.ApplicationObjects">
>         <state-object name="teszt-Sess" scope="session">
>             <create-instance
>                 class="com.TesztSess" />
>         </state-object>
>     </contribution>
> Aztan a Home.page-ba beraktam a hivatkozast:
>     <inject property="tesztSess" type="state" object="teszt-Sess"/>
>     <component id="tesztSessNev" type="Insert">
>         <binding name="value" value="ognl:tesztSess.nev"/>
>     </component>
> Vegul a Home.html-ben hivatkoztam ra:
> <span jwcid="tesztSessNev"/>
> A class egy darab "private string nev" property-vel bir, a szokasos
> publikus get- es set metodusokkal.
> A class konstruktoraban adok is erteket neki, hogy ne null-al induljon.
>
> A Home page-en megjelenik az ertek, de ha barmilyen mas page-en ugyanezt
> alkalmazom, akkor elszall hibaval az app:
> org.xml.sax.SAXParseException
> Ezen a ponton:
> <inject property="tesztSess" type="state" object="teszt-Sess"/>
> Element type "inject" must be declared.
>
> Holott ugyanezt mar ertelmezte a Home oldalon.
>
> Segitsetek, mi lehet a baj, sajnos peldat nem talaltam a google-val, pedig
> kerestem.
>
> Udv!
> Stef
>
>
--------- következõ rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20061031/ef958d7f/attachment.html 


További információk a(z) Javalist levelezőlistáról