Spring Boot入门指南:留言板

avatar
作者
猴君
阅读量:0

一.留言板

1.输⼊留⾔信息,点击提交.后端把数据存储起来.

2.⻚⾯展⽰输⼊的表⽩墙的信息

规范:

1.写一个类MessageInfo对象,添加构造方法

虽然有快捷键,但是还是不够偷懒 

项目添加Lombok。

Lombok是⼀个Java⼯具库,通过添加注解的⽅式,简化Java的开发。

2.添加Lombok 依赖

下载插件

 

 

 

 

Lombok通过⼀些注解的⽅式,可以帮助我们消除⼀些冗⻓代码,使代码看起来简洁⼀些 .

@Data注解会帮助我们⾃动⼀些⽅法,包含getter/setter,equals,toString等.

 

3.编写后端接口

3.编写后端接口(publish(),getList()),将信息暂时存储到List中(内存)。

代码:

package com.example.demo;  import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;  import java.util.ArrayList; import java.util.List;  @RestController @RequestMapping("/message") public class MessageController {     /*     将留言保存     * */     private List<MessageInfo> messageInfos = new ArrayList<>();//初始化List     @RequestMapping("/publish")     public Boolean publish(MessageInfo messageInfo){         //1.参数校验         //暂时 将信息存储到List中(内存)         if(!StringUtils.hasLength(messageInfo.getFrom())                 || !StringUtils.hasLength(messageInfo.getTo())||                 !StringUtils.hasLength(messageInfo.getSay())){             return  false;         }         messageInfos.add(messageInfo);         return true;      }     /*     * 获取留言信息*/     @RequestMapping("/getList")     public List<MessageInfo> getList(){         return messageInfos;     } } 

 4.打开post进行测试后端接口有无问题

5.编写前端代码

5.编写前端代码(根据后端返回的布尔类型选择将信息打印在页面)

代码:

<!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>留言板</title>     <style>         .container {             width: 350px;             height: 300px;             margin: 0 auto;             /* border: 1px black solid; */             text-align: center;         }          .grey {             color: grey;         }          .container .row {             width: 350px;             height: 40px;              display: flex;             justify-content: space-between;             align-items: center;         }          .container .row input {             width: 260px;             height: 30px;         }          #submit {             width: 350px;             height: 40px;             background-color: orange;             color: white;             border: none;             margin: 10px;             border-radius: 5px;             font-size: 20px;         }     </style> </head>  <body>     <div class="container">         <h1>留言板</h1>         <p class="grey">输入后点击提交, 会将信息显示下方空白处</p>         <div class="row">             <span>谁:</span> <input type="text" name="" id="from">         </div>         <div class="row">             <span>对谁:</span> <input type="text" name="" id="to">         </div>         <div class="row">             <span>说什么:</span> <input type="text" name="" id="say">         </div>         <input type="button" value="提交" id="submit" onclick="submit()">         <!-- <div>A 对 B 说: hello</div> -->     </div>      <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>     <script>         $.ajax({             url: "/message/getList",             type: "get",             success: function (messageInfos) {                 var finalHtml = "";                 for (var message of messageInfos) {                     finalHtml += '<div>' + message.from + ' 对 ' + message.to + ' 说: ' + message.message + '</div>';                 }                 $(".container").append(finalHtml);              }         });         function submit() {             console.log("发布留言");             //1. 获取留言的内容             var from = $('#from').val();             var to = $('#to').val();             var say = $('#say').val();             if (from == '' || to == '' || say == '') {                 return;             }              //发送ajax请求             $.ajax({                 url: "/message/publish",                 type: "post",                 data: {                     from: $('#from').val(),                     to: $('#to').val(),                     say: $('#say').val()                 },                 success: function (result) {                     if (result) {                         //2. 构造节点                         var divE = "<div>" + from + "对" + to + "说:" + say + "</div>";                         //3. 把节点添加到页面上                             $(".container").append(divE);                         //4. 清空输入框的值                         $('#from').val("");                         $('#to').val("");                         $('#say').val("");                     }else{                         alert("输入不合法");                     }                 }             });          }      </script> </body>  </html>

 展示:

 

 


6.解决问题方式

无日志提示,说明请求没有到达后端,是前端代码出问题。

 

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!