【Thymeleaf/SpringBoot/MyBatis】如何将themeleaf页面的表单数据提交到后台处理
本文例程下载:https://files.cnblogs.com/files/heyang78/myBank_themeleaf_post_addstu_210906.rar
第一步:准备含有form的页面。
...... <table border="0px" width="160px"> <tbody> <form action="addStu" method="post"> <tr> <td>id<input type="text" name="id"/></td> <td>name<input type="text" name="name"/></td> </tr> <tr> <td><input type="submit" value="提交"/></td> </tr> </form> </tbody> </table> ......
以上代码中,form的action指向RequestMapping里的value,method则和RequestMapping里的method对应,文本框name和id都会变成函数参数的一部分。
第二步:在控制器类中准备处理的函数
@Controller public class ActionController { @Autowired private StudentMapper studentMapper; ...... @RequestMapping(value="/addStu", method=RequestMethod.POST) public String addStu(@ModelAttribute(value="id") String id,@ModelAttribute(value="name") String name) { System.out.println("id="+id); System.out.println("name="+name); int nid=Integer.parseInt(id); studentMapper.addStudent(nid, name); return "list"; } }
可以拿addStu函数的注解中两个值和页面form里的两个值对照,看是否一致,还可以拿addStu函数的参数两个值和页面两文本框的name比较,看是否一致。比较一番后就会写了。
第三步:书写往数据库插值的函数:
@Mapper public interface StudentMapper { ...... @Insert("insert into student(id,name) values(#{id},#{name})") int addStudent(@Param("id") int id,@Param("name") String name); }
这个没啥好说的,就是告诉系统掉这个函数时执行注解里的SQL语句。
之后就可以启动页面,输入数据,再到后台看输入的结果了。
提交前页面值:
提交后数据库值:
可以看见,页面数据如所料存入了DB。
--END--
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2019-09-06 【高中数学/指数函数、对数函数】已知:正实数x,y,z满足2^x=3^y=6^z,则不正确的选项是?(2022年天津滨海新区塘沽第一中学校考模拟题)
2019-09-06 【Canvas与艺术】六边形漩涡
2019-09-06 [Java]手动构建SQL语法树(sql简单无嵌套)并输出与之对应的SQL语句之二
2019-09-06 [Java]手动构建SQL语法树(sql简单无嵌套)并输出与之对应的SQL语句之一
2019-09-06 【高中数学\基本不等式】已知a,b皆为正数,且2/(a+2)+1/(a+2b)=1,则a+b的最小值是多少,此时a等于几?
2019-09-06 [Java]用于将链表变成字符串并在元素之间插入分隔符的有用函数“String.join”
2017-09-06 【Canvas与艺术】绘制朝鲜国旗