用SpringMvc做一个简易计算器

用SpringMvc做一个简易计算器

一 .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("结果="+dataObj);
                           $("#test2").innerHTML="success";
                        }
                    }
                )
            })

        })

        function checkNum1(num) {
            let num1 = num.value;
            if (num1 == '') {
                alert("不能输入为空");
                return false;
            }
            if (Math.round(num1) != num1) {
                alert("这个数不是一个数字");
                num.value = '';
                num.onfocus;
                return false;
            }
            return true;
        }
    </script>
</head>
<body>
<form name="form1" action="" method="post">
    请输入第一个数:<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>
    请输入第二个数:<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下。

在这里插入图片描述
运行截图。
在这里插入图片描述
在这里插入图片描述

### 回答1: 我可以给你提供一些参考,但具体的实现还是要靠你自己。SpringMVC的控制器可以接收用户提交的表单信息,然后根据你的需求实现注册的业务逻辑。你可以使用JSP页面来渲染注册的表单信息,以及使用AJAX来提交表单信息,以实现前后端的交互。 ### 回答2: 使用SpringMVC编写一个注册页面有以下步骤: 1. 首先,创建一个表单页面register.jsp,包含用于输入用户名、密码、邮箱等注册信息的表单。可以使用HTML表单元素如input、select等。 2. 创建一个注册表单的类RegisterForm,用于封装用户输入的注册信息。该类需要包含与表单中输入框对应的字段,以及对应的setter和getter方法。 3. 在SpringMVC配置文件中添加对/register请求的映射,并配置相应的控制器类。可以通过@Controller注解定义该类,并使用@RequestMapping注解将请求映射到指定的方法。 4. 在控制器类中创建一个方法用于处理/register请求。可以通过@RequestMapping注解指定处理请求的URL路径,并使用@RequestParam注解获取表单中的值,并使用ModelAndView类封装处理结果。 5. 在处理/register请求的方法中,首先创建一个RegisterForm对象,并通过@RequestParam注解将请求参数自动绑定到该对象的字段上。 6. 然后可以进行一些对输入数据的验证,如检查用户名是否已存在、邮箱格式是否正确等。如果验证不通过,可以通过ModelAndView对象返回错误信息,并将相应的错误信息显示在register.jsp页面上。 7. 如果验证通过,可以将注册信息保存到数据库或其他数据存储中,并返回注册成功的提示信息。可以通过ModelAndView对象设置相应的视图名称和返回的数据。 8. 在register.jsp页面中,根据ModelAndView对象中返回的视图名称和数据,进行相应的处理。可以使用EL表达式获取并展示返回的数据。 通过以上步骤,我们可以使用SpringMVC编写一个简单的注册页面,并实现用户注册功能。当用户填写完注册信息并提交时,注册信息会被传递到后台进行处理和验证,并返回相应的结果给前台页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值