当前位置: 首页 > news >正文

Spring MVC练习:留言板

        目的样式:

        需求分析

        1.输入相关信息,点击提交后,后端把数据存储起来.

        2.用户访问时,后端输出数据到前端显示留言板的留言信息.

        3.用户留言后,添加留言板留言.

        约定接口

        1.获取留言信息.

        访问路径/message/getList,响应为JSON格式.

        2.发表新留言

        访问路径/message/publish,请求应包含留言信息.响应为留言是否成功(true/false).

        后端代码实现

        首先要有一个表示留言信息的类.在处理类中包含这个信息类的list,在发表留言的方法中对留言信息进行判断,如果留言不合法则返回false,合法则放入list并返回true.

@Getter @Setter
@ToString
public class MessageInfo {private String from;private String to;private String message;
}
@RestController
@RequestMapping("/message")
public class Message {List<MessageInfo> list = new ArrayList<>();@RequestMapping("/getList")public List<MessageInfo> getList() {return list;}@RequestMapping("/publish")public boolean publish(MessageInfo messageInfo) {System.out.println(messageInfo);if(!StringUtils.hasLength(messageInfo.getFrom())|| !StringUtils.hasLength(messageInfo.getTo())|| !StringUtils.hasLength(messageInfo.getMessage())) {//其中一个为空return false;}list.add(messageInfo);return true;}
}

        前端代码实现

        在展示留言的方法中,接收后端传来的留言list,循环构造留言信息并打印.在发布留言的方法中,接受后端传来的处理结果,为true则展示留言信息,false则告知用户输入不合法.

<!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="message"></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 = "";//foreachfor (var messageInfo of messageInfos) {finalHtml += '</div>' + messageInfo.from + '对' + messageInfo.to + '说:' + messageInfo.message + '</div></br>';}$(".container").append(finalHtml);}});function submit() {//1. 获取留言的内容var from = $('#from').val();var to = $('#to').val();var message = $('#message').val();$.ajax({url: "/message/publish",type: "post",data: {//后端:前端变量from: from,to: to,message: message},success: function (result) {if (result) {//2. 构造节点var divE = "<div>" + from + "对" + to + "说:" + message + "</div>";//3. 把节点添加到页面上    $(".container").append(divE);//4. 清空输入框的值$('#from').val("");$('#to').val("");$('#message').val("");}else{alert("输入不合法!");}}});}</script>
</body></html>

        运行结果:

        正常进行输入:

                

        进行错误的提交:不输入对谁说

                

        重新访问页面,观察展示留言是否正常.

        

        结果均符合预期

http://www.dtcms.com/a/487009.html

相关文章:

  • 摄影设计网站wordpress下载及使用
  • 厦门网站建设开发公司无锡建网站电话
  • 什么是站群服务器
  • Linux服务器编程实践27-详解TCP状态转移:从LISTEN到TIME_WAIT的完整路径
  • 网站怎么推广效果好一点呢宁波优化关键词首页排名
  • 门户网站价格天津网站建设基本流程
  • 数据分析-泊松分布
  • 教育类网站开发文档做网站一万
  • 【嵌入式软件】STM32 UART转485通信问题
  • MATLAB离群点检测与删除
  • 星Day-33 基础补充
  • 网站后台换qqwindows7 iis配置 网站
  • 网站推广的最终目的是什么网站建立步骤
  • Apache Paimon:为大规模数据场景打造 “统一存储语言”
  • Hadoop生态核心组件全面解析
  • 考研408《计算机组成原理》复习笔记,第五章(4)——CPU的【硬布线控制器】
  • 01 MySQL数据库基础入门指南
  • 医疗网站建设代理商动漫设计师资格证
  • 从零理解 KV Cache:大语言模型推理加速的核心机制
  • Nginx部署Vue项目,网页界面返回404 Not Found
  • 建设部招标网站郑州企业建设网站有什么好处
  • 天硕国产工业级固态硬盘:主动浪涌防护,破解工业存储安全难题
  • 多重防护设计:BL-08plus如何杜绝交叉污染保障检测安全
  • 小说一键生成动漫重庆seo整站优化效果
  • dz门户网站模板比较有名的公司网站
  • 中小企业智能云MES系统源码,实时采集生产现场数据,优化生产流程
  • 建设网站的一般步骤是机械设备网站源码
  • IIS 配置和重写模块下载
  • Centos Stream 9 中Docker安装出现 download.docker.com:443 的问题解决
  • 医院 AI + 冷热源集群控制系统:医疗场景下的能效与安全双保障方案​