Spring boot-java-project_calc – DEV Community

Using Html
1) File –> New –> Spring Starter Project
2) Name –> Calculator
3) Select Maven as Type
4) Click Next
5) Add Dependencies: DevTools, Web, Thymeleaf
6) Click Next, Finish
7) Go to src/main/java –> Create a package called com.example.demo.controller
8) Now, right click the newly created package.
9) Create a class -> Calc_Controller
10) Add @Controller annotation
11) Add below content:
@GetMapping(“https://dev.to/”)
public String show_calculator()
{
return “calc”;
}
12) Now, go to src/main/resources –> templates
13) Create a filed named as ‘calc.html’
Calculator
Result
=
14) Create Mapping for /calculate_values [action of form]
@RequestParam
Annotation which indicates that a method parameter should be bound to a web request parameter.
15) Create below method in Controller:
package com.example.demo.controller;
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.RequestParam;
@Controller
public class calc_controller {
@GetMapping("https://dev.to/")
public String show_controller()
{
return "calc";
}
@PostMapping("/calculate_values")
public String claculations(@RequestParam double num1,@RequestParam double num2,@RequestParam String operations,Model model)
{
//System.out.println(num1+num2);
model.addAttribute("no1",num1);
model.addAttribute("ops",operations);
model.addAttribute("no2",num2);
double result=0;
switch(operations)
{
case "+":result=num1+num2;break;
case "-":result=num1-num2;break;
case "*":result=num1*num2;break;
case "https://dev.to/":result=num1/num2;break;
}
model.addAttribute("result",result);
return "calc";
}
}