Witam,
Stworzylem sobie converter (string na obiekt i odwrotnie). Sam converter dziala, ale nie mam dostepu do wstrzykiwania @ejb z poziomu klasy nie bedacej ManagedBeanem. Samo dopisanie klasy konwertera jako ManagedBean w faces-config.xml nie zadzialalo (request scope), z reszta wydaje mi sie to glupie i nie rozumiem czemu ludzie polecaja taka metode i nie mam pewnosci, ze to zadziala. W kazdym razie widzialem kody dla Javy EE 6, ktore tak robia (konwerter z adnotacja @ManagedBean).
Po co mi converter? Chce pobierac dane do listy rozwijanej (z bazy danych, to idzie z poziomu ManagedBeana), a potem w konwerterze ze Stringa wyszukiwac obiekt w bazie. Odpowiednia metoda w DAO dziala, tylko jak sie do niej dostac, skoro jest w @ejb? Jest to czesc bardzo banalnego z pozoru CRUDa (relacja wiele do jednego).
Na stackoverflow.com ludzie pisze, aby uzywac InitialContext() i bezposrednio wywolywac JNDI, ale to jakas masakra: obrzydliwy sposob, czy w profesonalnych projektach ludzie tak robia? Na dodatek musze uzywac Java EE 5 (EJB 3.0 i JSF 1.2). Ponac w JSF 2.2 juz umozliwiono taka mozliwosc.
http://stackoverflow.com/questions/2019495/inject-a-ejb-into-a-jsf-converter-with-jee6
- Dlaczego nie mozna wstrzykiwac @ejb w Converterze?
- Jesli nie przez EJB, to jak uzyskac dostep do bazy z poziomu convertera?
- Czy ten InitialContext() to na serio, bo ta metoda wydaje mi sie wyjatkowo paskudna. A ja chce tylko wywolac moje DAO i wyszukac obiekt.
- Czy profesjonalisci nie uzywaja @ejb w konwerterach i jesli tak to dlaczego.
Pozdrawiam,
Piszac konwerter wzorowalem sie na:
http://balusc.blogspot.ch/2007/09/objects-in-hselectonemenu.html
A moze po prostu zaimplementowac interfejs Converter w obecnym managedBean, w ktorym robie CRUD?