Java Jsp Servlet计算器 [英] Java Jsp Servlet Calculator
本文介绍了Java Jsp Servlet计算器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这应该是一个不起作用的简单Jsp servlet计算器. 也许我是盲人,但我想我想念一些东西. 有人可以帮我吗?
This should be a simple Jsp servlet calculator wich insn't working. Maybe I am blind but I think I miss something. Can someone help me?
我有一个servlet:
I have a servlet:
package com.service.servlet;
import java.io.IOException
import java.util.Map;
import javax.servlet.RequestDispatcher;
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("/Calculator")
public class Calculator extends HttpServlet {
private static final long serialVersionUID = 1L;
double result;
public Calculator() {
super();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String valueString = request.getParameter("value");
String resultString = request.getParameter("result");
double result = 0;
if (!resultString.isEmpty()) {
result = Double.parseDouble(resultString);
}
if (!valueString.isEmpty()) {
double value = Double.parseDouble(valueString);
Map parameters = request.getParameterMap();
if (parameters.containsKey("plus")) {
result += value;
} else if (parameters.containsKey("minus")) {
result -= value;
} else if (parameters.containsKey("divide")) {
result /= value;
} else if (parameters.containsKey("multiply")) {
result *= value;
}
request.setAttribute("value", result);
RequestDispatcher view = request.getRequestDispatcher("/Calc.jsp");
view.forward(request, response);
} else {
RequestDispatcher view = request.getRequestDispatcher("/Calc.jsp");
view.forward(request, response);
}
}
}
Jsp文件简单,干净,并带有值和结果:
The Jsp File is simple and clean with value and result:
<form action="Calculator" method="POST">
<input name="value" type="text"/>
<input name="plus" type="submit" value="+" />
<input name="minus" type="submit" value="-" />
<input name="divide" type="submit" value="/" />
<input name="multiply" type="submit" value="*" />
<input name="result" readonly="readonly" type="text" value="" />";
</form>
推荐答案
您应将setAttribute()
调用更改为:
request.setAttribute("result", result);
然后修改以下行:
<input name="result" readonly="readonly" type="text" value="${result}" />;
这篇关于Java Jsp Servlet计算器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文