SpringMvc實(shí)現(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下。

運(yùn)行截圖。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- springsecurity實(shí)現(xiàn)用戶登錄認(rèn)證快速使用示例代碼(前后端分離項目)
- 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)加法計算器和用戶登錄功能
相關(guān)文章
Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例
本篇文章主要介紹了Springmvc中的轉(zhuǎn)發(fā)重定向和攔截器的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
Intellij IDEA 2019 最新亂碼問題及解決必殺技(必看篇)
大家在使用Intellij IDEA 的時候會經(jīng)常遇到各種亂碼問題,今天小編給大家分享一些關(guān)于Intellij IDEA 2019 最新亂碼問題及解決必殺技,感興趣的朋友跟隨小編一起看看吧2020-04-04
使用ByteArrayOutputStream實(shí)現(xiàn)將數(shù)據(jù)寫入本地文件
這篇文章主要介紹了使用ByteArrayOutputStream實(shí)現(xiàn)將數(shù)據(jù)寫入本地文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
Java如何發(fā)起http請求的實(shí)現(xiàn)(GET/POST)
這篇文章主要介紹了Java如何發(fā)起http請求的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
詳解Spring Cloud Config采用Git存儲時兩種常用的配置策略
這篇文章主要介紹了詳解Spring Cloud Config采用Git存儲時兩種常用的配置策略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
springboot 整合 nacos 配置實(shí)現(xiàn)多個環(huán)境不同配置
本文介紹了Nacos配置中心的優(yōu)勢,包括與Apollo的性能對比,Nacos服務(wù)端的安裝與配置,以及如何在SpringBoot項目中集成Nacos進(jìn)行多環(huán)境配置,提供了詳細(xì)的步驟,包括下載、安裝、配置中心的創(chuàng)建和項目集成,旨在幫助開發(fā)者更好地使用Nacos進(jìn)行項目配置管理2024-09-09
Spring-全面詳解(學(xué)習(xí)總結(jié))
這篇文章主要介紹了詳解Spring框架入門,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能給你帶來幫助2021-07-07

