完善計算器程式,實現減法、乘法和除法功能
阿新 • • 發佈:2021-09-05
MVC計算器
加法器原始碼地址使用符合MVC設計模式的自定義框架實現加法計算器 - 柳若絮 - 部落格園 (cnblogs.com)
在原有基礎上對add.jsp進行修改,程式碼如下:
<%@ page contentType="text/html;charset=GBK" language="java" %> <html> <head> <title>計算器</title> </head> <body bgcolor="#ffffc0"> <h1>算術計算器</h1> <form id="calcForm" method="post"> <table> <tbody> <tr> <td>第一個數</td> <td><input type="text" name="num1"/></td> </tr> <tr> <td>第二個數</td> <td><input type="text" name="num2"/></td> </tr> </tbody> </table> <td><input type="button" id="add" value="+"/></td> <td><input type="button" id="sub" value="-"/></td> <td><input type="button" id="mul" value="*"/></td> <td><input type="button" id="div" value="/"/></td> </form> <script type="text/javascript"> var add=document.getElementById("add"); var sub=document.getElementById("sub"); var mul=document.getElementById("mul"); var div=document.getElementById("div"); var calcForm=document.getElementById("calcForm") add.onclick=function() { calcForm.action="add.action"; calcForm.submit(); } sub.onclick=function() { calcForm.action="sub.action"; calcForm.submit(); } mul.onclick=function() { calcForm.action="mul.action"; calcForm.submit(); } mul.onclick=function() { calcForm.action="mul.action"; calcForm.submit(); } </script> </body> </html>
在com.dh.ch01.action包中建立SubAction類,程式碼如下:
package com.dh.ch01.action; import com.dh.ch01.biz.Calculator; import com.dh.ch01.framework.Action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SubAction implements Action { //業務邏輯物件 private Calculator biz = new Calculator(); public String execute(HttpServletRequest request, HttpServletResponse response) { //獲得頁面輸入 double num1 = Double.parseDouble(request.getParameter("num1")); double num2 = Double.parseDouble(request.getParameter("num2")); //呼叫業務邏輯方法,獲得返回值 double result = biz.sub(num1, num2); //將結果存放在request中,以便在頁面中得到 request.setAttribute("result", result); //返回將要轉發的頁面路徑 return "add_result.jsp"; } }
在com.dh.ch01.action包中建立MulAction類,程式碼如下:
package com.dh.ch01.action; import com.dh.ch01.biz.Calculator; import com.dh.ch01.framework.Action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MulAction implements Action { //業務邏輯物件 private Calculator biz = new Calculator(); public String execute(HttpServletRequest request, HttpServletResponse response) { //獲得頁面輸入 double num1 = Double.parseDouble(request.getParameter("num1")); double num2 = Double.parseDouble(request.getParameter("num2")); //呼叫業務邏輯方法,獲得返回值 double result = biz.mul(num1, num2); //將結果存放在request中,以便在頁面中得到 request.setAttribute("result", result); //返回將要轉發的頁面路徑 return "add_result.jsp"; } }
在com.dh.ch01.action包中建立DivAction類,程式碼如下:
package com.dh.ch01.action;
import com.dh.ch01.biz.Calculator;
import com.dh.ch01.framework.Action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DivAction implements Action {
//業務邏輯物件
private Calculator biz = new Calculator();
public String execute(HttpServletRequest request, HttpServletResponse response) {
//獲得頁面輸入
double num1 = Double.parseDouble(request.getParameter("num1"));
double num2 = Double.parseDouble(request.getParameter("num2"));
//呼叫業務邏輯方法,獲得返回值
double result = biz.div(num1, num2);
//將結果存放在request中,以便在頁面中得到
request.setAttribute("result", result);
//返回將要轉發的頁面路徑
return "add_result.jsp";
}
}