SpringMvc實現(xiàn)簡易計算器功能
用SpringMvc做一個簡易計算器,供大家參考,具體內(nèi)容如下
一 .domain類
package ssm1.domain; public class JiSuan { ? ? private int numOne; ? ? private int numTwo; ? ? private String yunSuan; ? ? private int result; ? ? public int getNumOne() { ? ? ? ? return numOne; ? ? } ? ? public void setNumOne(int numOne) { ? ? ? ? this.numOne = numOne; ? ? } ? ? public int getNumTwo() { ? ? ? ? return numTwo; ? ? } ? ? public void setNumTwo(int numTwo) { ? ? ? ? this.numTwo = numTwo; ? ? } ? ? public String getYunSuan() { ? ? ? ? return yunSuan; ? ? } ? ? public void setYunSuan(String yunSuan) { ? ? ? ? this.yunSuan = yunSuan; ? ? } ? ? public int getResult() { ? ? ? ? return result; ? ? } ? ? public void setResult(int result) { ? ? ? ? this.result = result; ? ? } ? ? @Override ? ? public String toString() { ? ? ? ? return "JiSuan{" + ? ? ? ? ? ? ? ? "numOne=" + numOne + ? ? ? ? ? ? ? ? ", numTwo=" + numTwo + ? ? ? ? ? ? ? ? ", yunSuan='" + yunSuan + '\'' + ? ? ? ? ? ? ? ? ", result=" + result + ? ? ? ? ? ? ? ? '}'; ? ? } }
二.Controller
package ssm1.Controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import ssm1.domain.JiSuan; @Controller @RequestMapping(path="/calculatorController") public class CalculatorController { ? ? @RequestMapping(path="/calculate") ? ? @ResponseBody ? ? public JiSuan suan( Model model,@RequestBody JiSuan jiSuan) ? ? { ? ? ? ? System.out.println(jiSuan); ? ? ? ? int numThree=0; ? ? ? ? if(jiSuan.getYunSuan().equals("+")) ? ? ? ? { ? ? ? ? ? ? numThree=jiSuan.getNumOne()+jiSuan.getNumTwo(); ? ? ? ? } ? ? ? ? else if(jiSuan.getYunSuan().equals("-")) ? ? ? ? { ? ? ? ? ? ? numThree=jiSuan.getNumOne()-jiSuan.getNumTwo(); ? ? ? ? } ? ? ? ? else if(jiSuan.getYunSuan().equals("*")) ? ? ? ? { ? ? ? ? ? ? numThree=jiSuan.getNumOne()*jiSuan.getNumTwo(); ? ? ? ? }else ? ? ? ? { ? ? ? ? ? ? numThree=jiSuan.getNumOne()/jiSuan.getNumTwo(); ? ? ? ? } ? ? ? ? jiSuan.setResult(numThree); ? ? ? ? model.addAttribute("jiSuan",jiSuan); ? ? ? ? return jiSuan; ? ? } }
三.jsp頁面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <script src="${pageContext.request.contextPath}/js/jquery-3.3.1.min.js" type="text/javascript"></script> <html> <head> ? ? <title>Title</title> ? ? <script language="JavaScript"> ? ? ? ? $(function () { ? ? ? ? ? ? $("#btn").click(function(){ ? ? ? ? ? ? ? ? let num1=$("#numOne").val(); ? ? ? ? ? ? ? ? let num2=$("#numTwo").val(); ? ? ? ? ? ? ? ? let yun=$("#yunsuan").val(); ? ? ? ? ? ? ? ? let param='{"numOne":'+'"'+num1+'"'+',"numTwo":'+'"'+num2+'"'+',"yunSuan":'+'"'+yun+'"'+'}'; ? ? ? ? ? ? ? ?// let array=new String(); ? ? ? ? ? ? ? ? ? ? ? ? ? $.ajax( ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? url:"${pageContext.request.contextPath}/calculatorController/calculate", ? ? ? ? ? ? ? ? ? ? ? ? contentType:"application/json;charset=utf-8", ? ? ? ? ? ? ? ? ? ? ? ? data:param, ? ? ? ? ? ? ? ? ? ? ? ? dataType:"Json", ? ? ? ? ? ? ? ? ? ? ? ? type:"POST", ? ? ? ? ? ? ? ? ? ? ? ? success:function (data) { ? ? ? ? ? ? ? ? ? ? ? ? ? ? var dataObj = data.result; ? ? ? ? ? ? ? ? ? ? ? ? ? ?$("#result").html("結(jié)果="+dataObj); ? ? ? ? ? ? ? ? ? ? ? ? ? ?$("#test2").innerHTML="success"; ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ) ? ? ? ? ? ? }) ? ? ? ? }) ? ? ? ? function checkNum1(num) { ? ? ? ? ? ? let num1 = num.value; ? ? ? ? ? ? if (num1 == '') { ? ? ? ? ? ? ? ? alert("不能輸入為空"); ? ? ? ? ? ? ? ? return false; ? ? ? ? ? ? } ? ? ? ? ? ? if (Math.round(num1) != num1) { ? ? ? ? ? ? ? ? alert("這個數(shù)不是一個數(shù)字"); ? ? ? ? ? ? ? ? num.value = ''; ? ? ? ? ? ? ? ? num.onfocus; ? ? ? ? ? ? ? ? return false; ? ? ? ? ? ? } ? ? ? ? ? ? return true; ? ? ? ? } ? ? </script> </head> <body> <form name="form1" action="" method="post"> ? ? 請輸入第一個數(shù):<input type="text" name="numOne" id="numOne" onblur="checkNum1(this)"> ? ? <select name="yunSuan" id="yunsuan"> ? ? ? ? <option value="+">+</option> ? ? ? ? <option value="-">-</option> ? ? ? ? <option value="*">*</option> ? ? ? ? <option value="/">/</option> ? ? </select> ? ? 請輸入第二個數(shù):<input type="text" name="numTwo" id="numTwo" onblur="checkNum1(this)"> ? ? <input type="button" value="計算" id="btn"> ? ? <label id="result"></label> ? ? <label id="test2"></label> </form> </body> </html>
js包,calculator.jsp,放在webapp下。
運行截圖。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例
本篇文章主要介紹了Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05Intellij IDEA 2019 最新亂碼問題及解決必殺技(必看篇)
大家在使用Intellij IDEA 的時候會經(jīng)常遇到各種亂碼問題,今天小編給大家分享一些關(guān)于Intellij IDEA 2019 最新亂碼問題及解決必殺技,感興趣的朋友跟隨小編一起看看吧2020-04-04使用ByteArrayOutputStream實現(xiàn)將數(shù)據(jù)寫入本地文件
這篇文章主要介紹了使用ByteArrayOutputStream實現(xiàn)將數(shù)據(jù)寫入本地文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12Java如何發(fā)起http請求的實現(xiàn)(GET/POST)
這篇文章主要介紹了Java如何發(fā)起http請求的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03詳解Spring Cloud Config采用Git存儲時兩種常用的配置策略
這篇文章主要介紹了詳解Spring Cloud Config采用Git存儲時兩種常用的配置策略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07springboot 整合 nacos 配置實現(xiàn)多個環(huán)境不同配置
本文介紹了Nacos配置中心的優(yōu)勢,包括與Apollo的性能對比,Nacos服務(wù)端的安裝與配置,以及如何在SpringBoot項目中集成Nacos進行多環(huán)境配置,提供了詳細的步驟,包括下載、安裝、配置中心的創(chuàng)建和項目集成,旨在幫助開發(fā)者更好地使用Nacos進行項目配置管理2024-09-09Spring-全面詳解(學(xué)習(xí)總結(jié))
這篇文章主要介紹了詳解Spring框架入門,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能給你帶來幫助2021-07-07