【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--

posted @   逆火狂飙  阅读(800)  评论(0编辑  收藏  举报
编辑推荐:
· 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与艺术】绘制朝鲜国旗
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示