Dlaczego JavaBeansy musza miec zdefiniowany konstruktor defaultowy (bezargumentowy)? Przeczytalam, ze jest to zwiazane z mechanizmem refleksji, ale co konkretnie powoduje taki przymus?
Prosze o nieco dokladniejsza odpowiedz :)
0
0
Pomyśl. Jak masz stworzyć nowy obiekt, gdy nie wiesz czego wymaga od ciebie konstruktor?
0
Ja wlasnie chcialabym miec mozliwosc wywolania konstruktora z argumentami. Np przy uzyciu znacznika <jsp:useBean .../>. Dlaczego to nie jest mozliwe? (a moze jest, tylko ja sie nie dogrzebalam odp. informacji?)
0
- Kompilator nie zna twoich intencji używania "ziaren". Ponieważ dopuszczalna jest składnia
<jsp:useBean id="Kotek" class="zoo.ssaki.ulubione.Kot" />, to musi być dostępny konstruktor
bezargumentowy. - Zamiast konstruktora z argumentami należy użyć "setterów":
<jsp:useBean id="Kotek" class="zoo.ssaki.ulubione.Kot">
<jsp:setProperty property="name" value="Mruczek">
<jsp:useBean />
W klasie Kot musi być metoda public void setName(String s){..}
0
Akurat mialam taki przypadek, ze fasolke wypadaloby zainicjalizowac w konstruktorze (wartoscia zalezna od danych w obiekcie Request). Inicjalizacja ta nie polega na wypelnieniu jednego propertiesa, ale calego beana. Jednak zrobilam sciemniarskiego 'settera', ktory wlasnie wykonuje ta inicjalizacje. A pytanie bylo dla uzupelnienia wiedzy.
Tak, czy siak dzieki za odpowiedzi :)