Spring mvc: bindet die Hash-Map je nach Benutzereingabe mit gleichem / anderem Wert

8

Ich habe die Anforderung, dass ich gebeten werde, die für einen bestimmten Kurs geltende Gebühr zu erfassen. Aber das Problem ist, dass für wenige Kurse die gleiche Gebühr für alle Arten von Benutzern gilt und für einige Kurse eine professionelle Gebühr zu entrichten ist. ZB wenn der Benutzer ein Lehrer ist, dann hat er andere Gebühren als wenn er ein Industriefachmann ist.

Es gibt vordefinierte Berufe in der Datenbank.

Hier ist meine derzeitige Logik mit Code.

Abhängig von der Optionsschaltfläche togge ich das richtige div und bestimmte Logik am Backend.

%Vor%

Jetzt überprüfe ich, welche Art von Gebühren anwendbar sind und fülle die Hashmaps entsprechend aus. Wenn prefessionWiseFees nicht anwendbar ist, fügen Sie dem gesamten Beruf dieselben Gebühren hinzu.

%Vor%

Modellklasse:

%Vor%

So wie ich dieses Problem elegant lösen kann, finde ich die Verwendung von requestParam.get , was die Lesbarkeit und Wartbarkeit von Code verringert.

    
piechuckerr 16.08.2017, 09:08
quelle

2 Antworten

1

Wenn Sie das denken

  

Verwendung von requestParam.get reduziert Lesbarkeit und Wartbarkeit von Code.

Sie können die Spring-Webbindung verwenden.

Definieren Sie zuerst eine FeeForm Bean:

%Vor%

Definieren Sie dann die ProfessionAmount -Bohne:

%Vor%

Ändern Sie dann die Controller-Methode auf diese Weise:

%Vor%

HTML:

%Vor%     
Testo Testini 24.08.2017, 14:54
quelle
0

Sie sollten zu der Jsp-Holding-Flagge in der Modell-Bean kommen, die angibt, ob die Gebühren anwendbar sind oder nicht, basierend auf dem Design und deaktivieren Sie die nicht anwendbaren Optionen.

oder

benutze AJAX. Sie können die Optionsschaltfläche verwenden und die Änderung verwenden, um sie durch Ajax zu überprüfen. Wenn die Fehlermeldung nicht gültig ist, wird sie zurückgegeben.

    
Hoda 23.08.2017 15:08
quelle

Tags und Links