Commit b3b3b03c by Patryk Czarnik

kalkulator podstawowy (kopia)

parent 7dbc0332
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/kalkulator-podstawowy")
public class KalkulatorPodstawowy {
// W tej wersji obliczenie było realizowane w samej metodzie kontrolera.
// W większej skali byłoby to niewłaściwe podejście - mieszanie warstwy webowej (kontroler też do niej należy)
// z logiką aplikacji.
@GetMapping
public String kalkulatorGet() {
return "kalkulator.html";
}
// Spring automatycznie przekaże parametry zapytania (dane z formularza)
// do tej metody - wystarczy zadeklarować parametry o tej samej nazwie.
@PostMapping
public String kalkulatorPost(Model model, Long liczba1, Long liczba2, String operacja) {
long wynik = switch(operacja) {
case "+" -> liczba1 + liczba2;
case "-" -> liczba1 - liczba2;
case "*" -> liczba1 * liczba2;
case "/" -> liczba1 / liczba2;
case "%" -> liczba1 % liczba2;
default -> 0;
};
model.addAttribute("wynik", wynik);
return "kalkulator.html";
}
}
...@@ -22,7 +22,7 @@ public class ParametryController { ...@@ -22,7 +22,7 @@ public class ParametryController {
// zadeklarować parametr o takiej samej nazwie w metodzie kontrolera. // zadeklarować parametr o takiej samej nazwie w metodzie kontrolera.
// "Spring nam to przekaże". // "Spring nam to przekaże".
// Podejście polegające na tym, że framework wywołuje "naszą metodę", // Podejście polegające na tym, że framework wywołuje "naszą metodę",
// a gdy my czegośc potrzebujemy, to dodajemy odp. parametr do tej metody, // a gdy my czegoś potrzebujemy, to dodajemy odp. parametr do tej metody,
// nazywa się "inversion of control (IoC)". // nazywa się "inversion of control (IoC)".
public String witaj(String imie) { public String witaj(String imie) {
return "Witaj " + imie; return "Witaj " + imie;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment