是java web计算器的客户端,当我输入数字的值并单击计算结果为0时。
这是index.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="calcular.do" style="font-family:arial">
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" />
Divison<br>
<input type="submit" value="calcular" name="Calcular" />
<br><br>
Resultado:<br>
<input type="text" name="resultado" value="${result}"
style="text-align:right"/><br><br>
</form>
<hr/>
</div>
</body>
</html>
这是servlet calcular.java
package controlador;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "Calcular", urlPatterns = {"/calcular.do"})
public class Calcular extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String number1 = request.getParameter("num1");
String number2 = request.getParameter("num2");
if(number1 !=null && !number1.isEmpty() && number2 !=null && !number2.isEmpty()){
jaxws.SWCalculator_Service service;
jaxws.SWCalculator port;
try{
service= new jaxws.SWCalculator_Service();
port=service.getSWCalculatorPort();
double num1 = Double.parseDouble(number1);
double num2= Double.parseDouble(number2);
double resultado=0;
String operacion = request.getParameter("operacion");
if (operacion.equals("suma")){
resultado = port.suma(num1, num2);
}
if (operacion.equals("resta")){
resultado = port.resta(num1, num2);
}
if (operacion.equals("multiplicacion")){
resultado = port.multiplicacion(num1, num2);
}
if (operacion.equals("division")){
resultado = port.division(num1, num2);
}
double respuesta = resultado;
request.setAttribute("result",respuesta);
request.getRequestDispatcher("index.jsp").forward(request, response);
}
catch (NumberFormatException ex)
{
System.out.println("numero incorrecto\n");
}
catch (Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
计算器通过输入2个数字并通过单选按钮选择操作(加法,减法,乘法和除法)来工作,当点击提交按钮时,必须给出操作的结果。
答案 0 :(得分:0)
尝试更改值=&#34; $ {result}&#34; to value =&#34; $ {requestScope.result}&#34;
<input type="text" name="resultado" value="${requestScope.result}"
style="text-align:right"/>