Hirdetés
- MasterDeeJay: Egy nem átlagos Asus videókártya (GTX950M 2GB GDDR3)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- hcl: Google Drive csatolása szerveren / Nextcloud integráció
- gban: Ingyen kellene, de tegnapra
- petipetya: Nagy chili topic. :)
- Ketogén étrend
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- talmida: My Art II.
- eBay-es kütyük kis pénzért
Új hozzászólás Aktív témák
-
Érdekelne mit gondoltok az alábbi helyzetről.
Adott egy cégen belül írt viszonylag egyszerű komponens. Ami áll egy view.xhml-ből és egy viewData.java model osztályból. Van még egy viewControllerünk az esetleges helyi logikákhoz.
SOAP-on keresztül jönnek az adtok ami kérdések.. A webszolgáltatás definiálja a kérdés típusát, válaszlehetőségeket és ez alapján rajzolódik ki a komponens. Most úgy néz ki, hogy alapvetően eldöntendő kérdések vannak, de ha valaki "Igen" választ jelöl meg akkor megjelenik egy beviteli mező, ahol további adatot kell megadni. Ez lehet, hogy egy mondat, de lehet csak egy szám.A modelben úgy vannak letárolva a kérdések és a válaszok, hogy függetlenül a kérdés típusától és az esetleg hosszabb válasz típusától egy getValue()-val szedjük ki a választ. Amikor ezt visszafelé küldjük a webszolgáltatásnak.
Előadódott egy olyan probléma, hogy amikor valaki az igen válasz után egy egész számot adott meg, az küldéskor már tizedes törtként ment tovább. (Pl 5 => 5.0)
Mikor belenéztem gyorsan a komponensbe azt láttam, hogy ott String-ként tárolódik ezért lehet, hogy az InputNumber mezőbe beírt számot történt tárolja le...
Mivel az adatok beküldése egy másik controller feladata ezért ott kerül összeállításra a request.
A fenti problémára 2 megközelítés merült fel.
1. Abban a controllerben amiben összeáll a beküldés, ott próbálom parseolni float-ra. Ha sikerül, akkor számról van szó, így round-al kerekítem egészre, és String-re konvertálva megy be a requestre. Ha elszáll NumberFormatException-el akkor azt jelenti, hogy ez egy vegyes tartalmú mező. Simán mehet ahogy van és nem kell kerekíteni.
2. A komponensbe kerül egy módosítás a modelbe. Nem a korábbi String value-ban tárolom hanem lesz egy int numberValue és a value-hoz írt getterben vizsgálom meg, hogy melyiket kell visszaadni és igazából így a modelbe kerül a logika...
Sok dolgot kihagytam és kicsit zavarosnak tűnhet, de szerettem volna kicsit kontextusba helyezni a problémát, nem csak úgy szárazan tálalni.
A kérdés igazából az, hogy a model osztályt meghagyni egyszerű POJO-ként a jobb ötlet és a controlllerben konvertálni a jobb ötlet, vagy mellőzni a konverziót, és a modelt módosítani "okosítani" kisebb logikákkal a jó irány?
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- BESZÁMÍTÁS! Asus B650M R5 7600X 32GB DDR5 1TB SSD RTX 5060Ti 16GB Lian Li Vector V100R RGB TG 650W
- BESZÁMÍTÁS! Gigabyte B650M R7 8700F 64GB DDR5 1TB SSD RX 7800 XT 16GB LianLi VectorV100R RGB TG 750W
- PC Játékok
- BESZÁMÍTÁS! AsRock H510M i5 11400 16GB DDR4 512GB SSD RX 6600 8GB Zalman T4 Plus ADATA 600W
- BESZÁMÍTÁS! Gigabyte B760M i3 12100F 16GB DDR4 512GB SSD RTX 2060 Super 8GB ADATA XPG Valor Air 600W
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓS ! MacBook Pro 16" M1 Pro 32GB RAM 1TB SSD! 1 év garancia!
- Xbox One S All Digital 1 TB + kontroller 6 hó garancia, számlával!
- Referencia Weboldallal Világítós bill+laptop bill magyarítás. Rania 3M -is! Touchpadok is.Posta ok
- BESZÁMÍTÁS! LENOVO Legion 5 Pro 16ACH6H notebook - R7 5800H 16GB DDR4 512GB SSD RTX 3070 8GB
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
