успокоительное перенаправление на путь, основанное на выборе переключателя - PullRequest
0 голосов
/ 29 апреля 2018

как конвертировать этот метод для получения для захвата параметра операции

@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public String postForm(@FormParam("operacion") List<String> operacion) {
return operacion.toString();
}

попытаться создать if с условием operation.equals ("sum"), но недопустимой ошибкой начала типа

, чтобы позже иметь возможность сравнить его с типом операции, который был выбран в соответствии с опцией радио кнопки

<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>

когда я нажимаю вычислить, это URL: http://localhost:8080/RESTFulCalculator/webresources/calculadora?num1=1&num2=2&operacion=suma, в соответствии с выбранным переключателем кнопка перенаправлена ​​на остальные методы?

 @Stateless
 @Path("/calculadora")
 public class Calculadora {

 @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;

 }

 @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;
 }

@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;
 }  

 @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;
 } 

 @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;
 }  
 }  

}

1 Ответ

0 голосов
/ 29 апреля 2018

Используйте

@QueryParam("operacion") String operacion

, если вы хотите отобразить operationc=sum на параметр вашего метода.

Похоже, вы хотите перенаправить на разные методы, основываясь на значении формы ввода operacion. Это невозможно. Значение выбранного operacion всегда будет @QueryParam или @FormParam, основываясь на method вашего HTML form. Он никогда не будет частью пути URL и никогда не будет доступен как часть аннотации @Path.

...