利用SpringMVC从前端页面接收值且在控制台输出

利用SpringMVC从前端页面接收值且在控制台输出



模块介绍

利用SpringMVC的接收值的方法,从页面里面接受值,其中包括输入框,单选框,和多选框的值,并且完成将前端的form表单信息到后台控制器接受的操作,需在控制台输出前端form表单里的所有字段的信息。


一、效果展示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、简单的代码实现

1.首先创建一个前端页面

这里创建的是一个Html页面里面包含了些js函数和简单的样式(老师那个前端页面实在是太丑了)

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function add(){
    
    
            document.getElementById("all").style.display='block';
        }

        //检查员工ID的合法性
        function checkEmployeeId(){
    
    
            var employeeId=document.getElementById("employeeId").value.trim();//获取到员工ID的值
            if(employeeId==''){
    
    
                document.getElementById("employeeId1").innerHTML='员工ID是必填项!';
                document.getElementById("employeeId1").style.color='red';
                document.getElementById("employeeId").style.borderColor='red';
                return false;
            }else{
    
    
                document.getElementById("employeeId1").innerHTML='员工ID OK!';
                document.getElementById("employeeId1").style.color='green';
                document.getElementById("employeeId").style.borderColor='green';
                return true;
            }
        }

        function checkEmployeeName(){
    
    
            var employeeName=document.getElementById("employeeName").value.trim();//获取到员工ID的值
            if(employeeName==''){
    
    
                document.getElementById("employeeName1").innerHTML='员工名字是必填项!';
                document.getElementById("employeeName1").style.color='red';
                document.getElementById("employeeName").style.borderColor='red';
                return false;
            }else{
    
    
                document.getElementById("employeeName1").innerHTML='员工名字 OK!';
                document.getElementById("employeeName1").style.color='green';
                document.getElementById("employeeName").style.borderColor='green';
                return true;
            }
        }

        function checkEmployeeAge(){
    
    
            var employeeAge=document.getElementById("employeeAge").value.trim();//获取到员工ID的值
            if(employeeAge==''){
    
    
                document.getElementById("employeeAge1").innerHTML='员工年龄是必填项!';
                document.getElementById("employeeAge1").style.color='red';
                document.getElementById("employeeAge").style.borderColor='red';
                return false;
            }else{
    
    
                document.getElementById("employeeAge1").innerHTML='员工年龄 OK!';
                document.getElementById("employeeAge1").style.color='green';
                document.getElementById("employeeAge").style.borderColor='green';
                return true;
            }
        }


        function check(){
    
    
            if(checkEmployeeId()&checkEmployeeName()&checkEmployeeAge()){
    
    
                return true;
            }else{
    
    
                return false;
            }
        }
    </script>
</head>
<body>
<!--
<marquee onmouseout="this.start();" onmouseover="this.stop();">${
    
    msg}</marquee>
-->
<div>
<table border="1" width="600" height="100" align="center" cellpadding="0" cellspacing="3">
<tr><td>employeeId</td><td>employeeName</td><td>employeeAge</td><td>yuyan1</td><td>yuyan2</td><td>sex</td></tr>
<#list list as emp>
<tr><td>${
    
    emp.employeeId}</td><td>${
    
    emp.employeeName}</td><td>${
    
    emp.employeeAge}</td><td>${
    
    emp.yuyan1}</td><td>${
    
    emp.yuyan2}</td><td>${
    
    emp.sex}</td></tr>
</#list>
    <tr><td><a href="javascript:add();">点击我进入增加页面</a></td></tr>
</table>
</div>

<div id="all" style="display: none; border: 1px solid red; margin: 0 auto; width: 600px; height: auto;">
<form action="insertEmployee" method="get" onsubmit="return check();">
    <p>员工ID:<input type="text" name="employeeId" id="employeeId" onblur="checkEmployeeId();"><span id="employeeId1">请输入员工ID</span></p>
    <p>员工名字:<input type="text" name="employeeName" id="employeeName" onblur="checkEmployeeName();"><span id="employeeName1">请输入员工名字</span></p>
    <p>员工年龄:<input type="text" name="employeeAge" id="employeeAge" onblur="checkEmployeeAge();"><span id="employeeAge1">请输入员工年龄</span></p>
    <p>汇编语言:<input type="checkbox" name="yuyan1" value="java" >Java
        <input type="checkbox" name="yuyan2" value="python">Python</p>
    <p>员工性别:<input type="radio" name="sex" value="男"><input type="radio" name="sex" value="女"></p>
    <p><input type="submit"><input type="reset"></p>
</form>
</div>
</body>
</html>

2.在pojo包中创建Employee类

Employee类中定义了一些属性

代码如下:

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Setter;

@Data
@AllArgsConstructor
public class Employee {
    
    
    private int employeeId;
    private String employeeName;
    private int employeeAge;
    private String yuyan1;
    private String yuyan2;
    private String sex;

    public static void main(String[] args) {
    
    
//        Employee e=new Employee();
//        e.setEmployeeId(1);
//        e.setEmployeeName("admin");
//        e.setEmployeeAge(23);
        Employee e=new Employee(1,"admin",12,"Java","","男");
        System.out.println(e.getEmployeeName());
        //Map神器
    }
}

3.在config包中创建Data类

Data中实例化了Employee集合,加入了静态代码块,向集合中插入了一些固定数据;

代码如下:

package com.chinasoft.test193.config;

import com.chinasoft.test193.pojo.Employee;

import java.util.ArrayList;
import java.util.List;

public class Data {
    
    

    public static List<Employee> list=new ArrayList<Employee>();

    static{
    
    
        list.add(new Employee(1,"admin",12,"Java","","男"));
        list.add(new Employee(2,"admin1",13,"Python","Java","女"));
    }
}

4.在controller包中创建TestController类

TestController类中主要通过"HttpServletRequest request"的方法实现了获取了前端用户输入的数据,打包了list数据集合放进了Map中,并且在后端控制台输出了数据值,并且完成了重定向到原本index页面的作用。

代码如下:

package com.chinasoft.test193.controller;

import com.chinasoft.test193.config.Data;
import com.chinasoft.test193.pojo.Employee;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;

//@RestController
@Controller
public class TestController {
    
    

    private static final Logger log= LoggerFactory.getLogger(TestController.class);
    

    @RequestMapping("index")
    public ModelAndView index(){
    
    
        Map<String,Object> map=new HashMap<String,Object>();
        map.put("list",Data.list);
       return new ModelAndView("index",map);
    }

    @RequestMapping("insertEmployee")
    public String insertEmployee(HttpServletRequest request){
    
    
        String employeeId=request.getParameter("employeeId");
        String employeeName=request.getParameter("employeeName");
        String employeeAge=request.getParameter("employeeAge");
        String yuyan1 = request.getParameter("yuyan1");
        String yuyan2 = request.getParameter("yuyan2");
        String sex = request.getParameter("sex");

        //添加到list合集里面
        Data.list.add(new Employee(Integer.parseInt(employeeId),employeeName,Integer.parseInt(employeeAge),yuyan1,yuyan2,sex));
        System.out.println("员工编号:"+employeeId);
        System.out.println("员工姓名:"+employeeName);
        System.out.println("员工年龄:"+employeeAge);
        System.out.println("编程语言:"+yuyan1);
        System.out.println("          "+yuyan2);
        System.out.println("员工性别:"+sex);
        //重定向到index
        return "redirect:/index";
    }
}


总结

在开发程序时,程序有一项重要的功能就是验证功能,防止用户和竞争对手进行恶意注册,在数据库形成无效数据,影响程序效率。
但是这个验证功能我们不能全部放在后端,让服务器进行验证功能,我们将其一部分放到客户端进行处理,这样大大降低了服务器的运行负担。

おすすめ

転載: blog.csdn.net/qq_54088719/article/details/121525953