Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

jak zapytac o 2 warunki w JSF EL

27 views
Skip to first unread message

ryszard

unread,
Apr 14, 2008, 9:26:51 AM4/14/08
to
jak w temacie. Chce zaputac if(A and B) w EL albo w unified EL. Wszystkie
oczywiste rozwiazania jakos mi nie chce dzalac. Przepraszam za trywialnosc
pytania.


--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Michal

unread,
Apr 14, 2008, 9:59:42 AM4/14/08
to
ryszard pisze:

> jak w temacie. Chce zaputac if(A and B) w EL albo w unified EL. Wszystkie
> oczywiste rozwiazania jakos mi nie chce dzalac. Przepraszam za trywialnosc
> pytania.
>
>
W Seam'owym EL byloby #{A==true and B==true}, chyba nawet ==true da
sie opuscic. Np. rendered="#{A==true and B==true}"

Pozdrawiam
Michał

Tomasz Jędzierowski

unread,
Apr 14, 2008, 10:11:30 AM4/14/08
to
ryszard pisze:

> jak w temacie. Chce zaputac if(A and B) w EL albo w unified EL. Wszystkie
> oczywiste rozwiazania jakos mi nie chce dzalac. Przepraszam za trywialnosc
> pytania.
>
>

#{A == true && B = true}

jeżeli używasz faceletów to oczywiście && musisz zamienić na &&

--
Tomasz Jędzierowski

ryszard

unread,
Apr 14, 2008, 11:30:51 AM4/14/08
to

zadzialalo, dzieki!
Teraz mam inny problemik, ale bardzo uroczy.
Chce prxeprowadzic walidacje w ajax tak zeby submit byl juz prawie zawsze dobry.
Wymaganie to wzielo sie z tad ze rozne czesci formy maja tyc w roznych panelach,
ale to nei jest wazne.
Wiec mam testowa klase user co ma name i age. Chce sie upewnic ze name i age sa
wpisane. Oba maja dodatkowe wymagania name ma miec dlugosc 3-10, age ma byc
miedzy 1 a 120.
Seamowa walidadacja dziala przez ajax b ladnie. Jako konfirmacje chce wyswietlic
wiadomosc:
<h:outputText id="userOut"
rendered="#{not empty user.name and not empty user.age}"
value="we will register #{user.name} with age #{user.age} " />
Wiadomosc poczatkowo nie wyswietla sie a pojawi sie kiedy name i age sa dobre :)
Problem jest w tym ze jak name przestanie byc dobry (np ktos wpisuje za duzo
charakterow) to wiadomosc pozostaje z ostanim dobrym name. Jest to zrozumiale bo
ten tekst nie jest renderowany w czasie kiedy name nie jest dobre.
Jakis pomysl jak to obejsc?

Sprubuje ujac to inaczej: chce zeby text byl renderowany zawsze, ale zeby
wyswitelal sie warunkowo.

Michal

unread,
Apr 14, 2008, 6:12:28 PM4/14/08
to
ryszard pisze:

> zadzialalo, dzieki!
> Teraz mam inny problemik, ale bardzo uroczy.
> Chce prxeprowadzic walidacje w ajax tak zeby submit byl juz prawie zawsze dobry.
> Wymaganie to wzielo sie z tad ze rozne czesci formy maja tyc w roznych panelach,
> ale to nei jest wazne.
> Wiec mam testowa klase user co ma name i age. Chce sie upewnic ze name i age sa
> wpisane. Oba maja dodatkowe wymagania name ma miec dlugosc 3-10, age ma byc
> miedzy 1 a 120.
> Seamowa walidadacja dziala przez ajax b ladnie. Jako konfirmacje chce wyswietlic
> wiadomosc:
> <h:outputText id="userOut"
> rendered="#{not empty user.name and not empty user.age}"
> value="we will register #{user.name} with age #{user.age} " />
> Wiadomosc poczatkowo nie wyswietla sie a pojawi sie kiedy name i age sa dobre :)
> Problem jest w tym ze jak name przestanie byc dobry (np ktos wpisuje za duzo
> charakterow) to wiadomosc pozostaje z ostanim dobrym name. Jest to zrozumiale bo
> ten tekst nie jest renderowany w czasie kiedy name nie jest dobre.
> Jakis pomysl jak to obejsc?
>
> Sprubuje ujac to inaczej: chce zeby text byl renderowany zawsze, ale zeby
> wyswitelal sie warunkowo.

Przyznam, ze nie do konca rozumiem problem, ale widze w tym duze
zagmatwanie.
Generalnie do wiadomosci wykorzystywany jest FacesMessage i <h:messages>.
Dobrze jest uzywac Hibernate'owego rozszerzenia do walidacji danych,
tutaj przydaloby sie @NotNull i @Length, powiazane z otaczaniem pol
tagiem <s:validate> / <s:validateAll>.
Poczytaj o tym, moze to Ci ulatwi zycie.

Pozdrawiam
Michał Flasiński

ryszard

unread,
Apr 15, 2008, 11:14:32 AM4/15/08
to
Tego wszystkiego uzywam, i dziala. Nawet hibernatowa walidacja dziala przez
ajax, co prawda bez dekoracji ale dziala. I tutaj mam problem ogolny raczej.

W momencie kiedy walidacja jest ok chce wyswietlic tekst "forma gotowa do
wyslania". To sie da zrobic przez:
<h:outputText rendered="#{not empty user.name}" value="forma gotowa..."/>

Jeli ktos w tym momencie bedzie ta forme dalej zmienial az do momentu kiedy nie
jest walidowalna oczekiwal bym ze ten napis zniknie. Sprawdzalem i jestem pewien
ze #{not empty user.name} nie jest spelnione.
Tak naprawde ma to sens..., moze jest inny sposob zebby nie wyswietlac tekstu w
odpowiednich warunkach?
pozdr.

0 new messages