SpringMvc實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能
用SpringMvc做一個(gè)簡(jiǎn)易計(jì)算器,供大家參考,具體內(nèi)容如下
一 .domain類(lèi)
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頁(yè)面
<%@ 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("這個(gè)數(shù)不是一個(gè)數(shù)字"); ? ? ? ? ? ? ? ? num.value = ''; ? ? ? ? ? ? ? ? num.onfocus; ? ? ? ? ? ? ? ? return false; ? ? ? ? ? ? } ? ? ? ? ? ? return true; ? ? ? ? } ? ? </script> </head> <body> <form name="form1" action="" method="post"> ? ? 請(qǐng)輸入第一個(gè)數(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> ? ? 請(qǐng)輸入第二個(gè)數(shù):<input type="text" name="numTwo" id="numTwo" onblur="checkNum1(this)"> ? ? <input type="button" value="計(jì)算" id="btn"> ? ? <label id="result"></label> ? ? <label id="test2"></label> </form> </body> </html>
js包,calculator.jsp,放在webapp下。
運(yùn)行截圖。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- springsecurity實(shí)現(xiàn)用戶(hù)登錄認(rèn)證快速使用示例代碼(前后端分離項(xiàng)目)
- Springboot+Shiro記錄用戶(hù)登錄信息并獲取當(dāng)前登錄用戶(hù)信息的實(shí)現(xiàn)代碼
- Spring mvc 實(shí)現(xiàn)用戶(hù)登錄的方法(攔截器)
- spring aop action中驗(yàn)證用戶(hù)登錄狀態(tài)的實(shí)例代碼
- springmvc+spring+mybatis實(shí)現(xiàn)用戶(hù)登錄功能(下)
- springmvc+spring+mybatis實(shí)現(xiàn)用戶(hù)登錄功能(上)
- Spring實(shí)現(xiàn)加法計(jì)算器和用戶(hù)登錄功能
相關(guān)文章
Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例
本篇文章主要介紹了Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05springCloud集成nacos config的過(guò)程
本文介紹spring cloud集成nacos config的過(guò)程,通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-08-08深入解析Apache Kafka實(shí)時(shí)流處理平臺(tái)
這篇文章主要為大家介紹了Apache Kafka實(shí)時(shí)流處理平臺(tái)深入解析,從基本概念到實(shí)戰(zhàn)操作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Intellij IDEA 2019 最新亂碼問(wèn)題及解決必殺技(必看篇)
大家在使用Intellij IDEA 的時(shí)候會(huì)經(jīng)常遇到各種亂碼問(wèn)題,今天小編給大家分享一些關(guān)于Intellij IDEA 2019 最新亂碼問(wèn)題及解決必殺技,感興趣的朋友跟隨小編一起看看吧2020-04-04使用ByteArrayOutputStream實(shí)現(xiàn)將數(shù)據(jù)寫(xiě)入本地文件
這篇文章主要介紹了使用ByteArrayOutputStream實(shí)現(xiàn)將數(shù)據(jù)寫(xiě)入本地文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Java如何發(fā)起http請(qǐng)求的實(shí)現(xiàn)(GET/POST)
這篇文章主要介紹了Java如何發(fā)起http請(qǐng)求的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03詳解Spring Cloud Config采用Git存儲(chǔ)時(shí)兩種常用的配置策略
這篇文章主要介紹了詳解Spring Cloud Config采用Git存儲(chǔ)時(shí)兩種常用的配置策略,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07springboot 整合 nacos 配置實(shí)現(xiàn)多個(gè)環(huán)境不同配置
本文介紹了Nacos配置中心的優(yōu)勢(shì),包括與Apollo的性能對(duì)比,Nacos服務(wù)端的安裝與配置,以及如何在SpringBoot項(xiàng)目中集成Nacos進(jìn)行多環(huán)境配置,提供了詳細(xì)的步驟,包括下載、安裝、配置中心的創(chuàng)建和項(xiàng)目集成,旨在幫助開(kāi)發(fā)者更好地使用Nacos進(jìn)行項(xiàng)目配置管理2024-09-09Spring-全面詳解(學(xué)習(xí)總結(jié))
這篇文章主要介紹了詳解Spring框架入門(mén),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望能給你帶來(lái)幫助2021-07-07