I am trying to receive the operation parameter from several radio buttons, according to the value that an operation must be performed (addition, subtraction, multiplication, division, module). But, it just does not work.
The page jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Calculadora</title>
</head>
<body>
<hr/>
<div align="center">
<form action="webresources/calculadora" style="font-family:arial" method="POST" >
Numero 1:<br>
<input type="text" name="num1"
style="text-align:right"/><br><br>
Numero 2:<br>
<input type="text" name="num2"
style="text-align:right"/><br><br>
<input type="radio" name="operacion" value="suma" checked="true" />
Suma<br>
<input type="radio" name="operacion" value="resta" />
Resta<br>
<input type="radio" name="operacion" value="multiplicacion" />
Multiplicacion<br>
<input type="radio" name="operacion" value="division" />
Division<br>
<input type="radio" name="operacion" value="modulo" />
Modulo<br>
<input type="submit" value="calcular" name="Calcular" />
<br><br>
Resultado:<br>
<input type="text" name="resultado" value="${resultado}"
style="text-align:right"/><br><br>
</form>
<hr/>
</div>
</body>
</html>
I am trying according to the selected option execute the respective method on the restful calculator
package uts.dae.model.rest;
import java.util.List;
import javax.ejb.Stateless;
import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
/**
*
* @author x2010s
*/
@Stateless
@Path("/calculadora")
public class Calculadora {
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public String postForm(@FormParam("operacion") List<String> operacion) {
return operacion.toString();
}
switch (postForm){
case "suma":
@GET
@Path("/calculadora/suma")
public String Suma(@QueryParam("num1") double num1,@QueryParam("num2") double num2) {
return Double.toString($Suma(num1,num2));
}
double $Suma(double num1,double num2) {
double resultado;
resultado = num1 + num2;
return resultado;
}
break;
case "resta":
@GET
@Path("/calculadora/resta")
public String Resta(@QueryParam("num1") double num1,@QueryParam("num2") double num2) {
return Double.toString($Resta(num1,num2));
}
double $Resta(@QueryParam("num1") double num1,@QueryParam("num2") double num2) {
double resultado;
resultado = num1 - num2;
return resultado;
}
break;
case "multiplicacion":
@GET
@Path("/calculadora/multiplicacion")
public String Multiplicacion(@QueryParam("num1") double num1,@QueryParam("num2") double num2) {
return Double.toString($Multiplicacion(num1,num2));
}
double $Multiplicacion(double num1,double num2) {
double resultado;
resultado = num1 * num2;
return resultado;
}
break;
case "division":
@GET
@Path("/calculadora/Division")
public String Division(@QueryParam("num1") double num1,@QueryParam("num2") double num2) {
return Double.toString($Division(num1,num2));
}
double $Division(double num1,double num2) {
double resultado;
resultado = num1 / num2;
return resultado;
}
break;
case "Modulo":
@GET
@Path("/calculadora/Modulo")
public String Modulo(@QueryParam("num1") double num1,@QueryParam("num2") double num2) {
return Double.toString($Modulo(num1,num2));
}
double $Modulo(@QueryParam("num1") double num1,@QueryParam("num2") double num2) {
double resultado;
resultado = num1 % num2;
return resultado;
}
break;
}
}