本文例程下載: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--