SpringMvc實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能
用SpringMvc做一個(gè)簡(jiǎn)易計(jì)算器,供大家參考,具體內(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頁(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)用戶登錄認(rèn)證快速使用示例代碼(前后端分離項(xiàng)目)
- Springboot+Shiro記錄用戶登錄信息并獲取當(dāng)前登錄用戶信息的實(shí)現(xiàn)代碼
- Spring mvc 實(shí)現(xiàn)用戶登錄的方法(攔截器)
- spring aop action中驗(yàn)證用戶登錄狀態(tài)的實(shí)例代碼
- springmvc+spring+mybatis實(shí)現(xiàn)用戶登錄功能(下)
- springmvc+spring+mybatis實(shí)現(xiàn)用戶登錄功能(上)
- Spring實(shí)現(xiàn)加法計(jì)算器和用戶登錄功能
相關(guān)文章
Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例
本篇文章主要介紹了Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
springCloud集成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-01
Intellij 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ù)寫入本地文件
這篇文章主要介紹了使用ByteArrayOutputStream實(shí)現(xiàn)將數(shù)據(jù)寫入本地文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
Java如何發(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í)兩種常用的配置策略,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
springboot 整合 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)目集成,旨在幫助開發(fā)者更好地使用Nacos進(jìn)行項(xiàng)目配置管理2024-09-09
Spring-全面詳解(學(xué)習(xí)總結(jié))
這篇文章主要介紹了詳解Spring框架入門,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望能給你帶來(lái)幫助2021-07-07

