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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM