- TCL LCD és LED TV-k
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- nVidia GeForce GTX 1070 / 1070 Ti / 1080 (GP104)
- Először égett le egy újságnál a GeForce RTX 5090
- Sony MILC fényképezőgépcsalád
- Plazma TV topic
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Apple MacBook
- Milyen CPU léghűtést vegyek?
- Az Arctic belép a házak piacára
Hirdetés
Ú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?:))
- TCL LCD és LED TV-k
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen okostelefont vegyek?
- Autós topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Yettel topik
- Mobil flották
- Fotók, videók mobillal
- További aktív témák...
- MikroTik CCR1009-7G-1C-1S+ Cloud Router
- BESZÁMÍTÁS! MSI B450M-A R7 2700X 16GB DDR4 512GB SSD GTX 1070 8GB Cooler Master MasterBox Lite5 500W
- iKing.Hu - Motorola Razr 50 Ultra Midnight Blue Használt, karcmentes állapotban 12 GB RAM / 512 GB
- BESZÁMÍTÁS! Asus Maximus VIII Hero i7 6700K 16GB DDR4 512GB SSD RX 5700 XT 8GB Zalman i3 NEO 700W
- Honor MagicBook 16 Ryzen 5 5600H 16GB 512GB FHD 144Hz
Állásajánlatok
Cég: FOTC
Város: Budapest