- Luck Dragon: Asszociációs játék. :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Steven: Sokat utazó kávéfüggők ide!
- sh4d0w: Árnyékos sarok
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Ivqkzy-: 2. gépem
- ldave: New Game Blitz - 2025
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Parci: Milyen mosógépet vegyek?
Új hozzászólás Aktív témák
-
MrSealRD
veterán
É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
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Xiaomi Redmi Note 13 Pro 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Xiaomi Redmi Note 13 Pro 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- GARANCIÁLIS! Apple Watch Series 10 GPS 42mm Rose Gold!
- Asus ROG STRIX Z370-F GAMING Alaplap
- T14s Gen4 14" FHD+ IPS érintő Ryzen 5 PRO 7540U 16GB 256GB NVMe ujjlolv IR kam gar
- Bomba ár! Lenovo ThinkPad X270 - i5-6G I 8GB I 256GB SSD I 12,5" FHD I HDMI I Cam I W10 I Garancia!
- DELL PowerEdge R730xd 12LFF+2SFF rack szerver - 2xE5-2680v3,64GB RAM,4x1GbE,H730 RAID v ZFS
- BenQ PD-3200-U Monitor - Designer 4K 32"
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- Bomba ár! Lenovo ThinkPad P50 - i7-HQ I 16GB I 256SSD I Nvidia I 15,6" FHD I Cam I W10 I Gari!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest