在显示层cal.jsp页面中显示两个数的加减乘除
在控制层calServlet中进行两个数的运算操作
<form action="calServlet" method="post">
操作数1:
<input type="text"name="num1"value="${requestScope.cal.num1 }">
运算符:
<input type="radio" name="op" value="+"
${requestScope.cal.op=="+"?"checked":""}>+;
<input type="radio" name="op" value="-"
${requestScope.cal.op=="-"?"checked":""}>-
<input type="radio" name="op" value="*"
${requestScope.cal.op=="*"?"checked":""}>*
<input type="radio" name="op" value="/"
${requestScope.cal.op=="/"?"checked":""}>/ <br>
操作数2:
<input type="text" name="num2" value="${requestScope.cal.num2 }"><br>
<input type="submit" value="计算" ><br>
结果: <input type="text" value="${requestScope.result}">
</form>
calServlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Calculator cal=new Calculator();
//接受表单提交的数据并封装到javabean中
cal.setNum1(Float.parseFloat(request.getParameter("num1")));
cal.setNum2(Float.parseFloat(request.getParameter("num2")));
cal.setOp(request.getParameter("op"));
//根据运算符来完成运算
float result=0;
switch(cal.getOp().charAt(0)){
case '+':result=cal.getNum1()+cal.getNum2();
break;
case '-':result=cal.getNum1()-cal.getNum2();
break;
case '*':result=cal.getNum1()*cal.getNum2();
break;
case '/':result=cal.getNum1()/cal.getNum2();
}
//将结果保存到request并使用服务器端跳转到cal.jsp文件
request.setAttribute("result",result);
//request.setAttribute("num1", cal.getNum1());
//request.setAttribute("num2", cal.getNum2());
//已经保存到cal中所以不必这么麻烦
request.setAttribute("cal",cal);
request.getRequestDispatcher("cal.jsp").forward(request, response);
//客户端跳转
//response.sendRedirect("cal.jsp");
}
简单的计算器(EL表达式)
本文介绍了一个简单的Web计算器实现过程,包括前端表单设计和后端逻辑处理。通过HTML表单接收用户输入的操作数和运算符,并在Servlet中进行计算,最后返回结果显示在页面上。

被折叠的 条评论
为什么被折叠?



