接上一節。
點擊導航一的頁面二顯示添加表單,表單可以去element官網上找一個,比如帶驗證的表單,此時PageTwo.vue
<template> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="姓名" prop="username"> <el-input v-model="ruleForm.username"></el-input> </el-form-item> <el-form-item label="年齡" prop="age"> <el-input v-model="ruleForm.age"></el-input> </el-form-item> <el-form-item label="性別" prop="gender"> <el-radio-group v-model="ruleForm.gender"> <el-radio label="0"></el-radio> <el-radio label="1"></el-radio> </el-radio-group> </el-form-item> <el-form-item label="郵箱" prop="email"> <el-input v-model="ruleForm.email"></el-input> </el-form-item> <el-form-item label="愛好" prop="hobby"> <el-input v-model="ruleForm.hobby"></el-input> </el-form-item> <el-form-item label="介紹" prop="introduce"> <el-input type="textarea" v-model="ruleForm.introduce"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('ruleForm')">立即創建</el-button> <el-button @click="resetForm('ruleForm')">重置</el-button> </el-form-item> </el-form> </template> <script> export default { data () { return { ruleForm: { username: '', age: '', gender: '', email: '', hobby: '', introduction: '' }, rules: { username: [ { required: true, message: '請輸入姓名', trigger: 'blur' }, { min: 3, max: 5, message: '長度在 3 到 5 個字符', trigger: 'blur' } ], } }; }, methods: { submitForm (formName) { const that = this; this.$refs[formName].validate((valid) => { if (valid) { axios.post('http://localhost:8181/user/save', this.ruleForm) .then(function (response) { if (response.data == "success") { that.$alert('《' + that.ruleForm.username + '》 添加成功', '消息', { confirmButtonText: '確定', callback: action => { that.$router.push('/pageOne'); } }) } }) } else { console.log('error submit!!'); return false; } }); }, resetForm (formName) { this.$refs[formName].resetFields(); } } } </script>
修改springbootz中的id屬性,為其加上:@GeneratedValue(strategy = GenerationType.IDENTITY),讓其自增,然后在controller中加入:
@ResponseBody @PostMapping("/save") public String save(@RequestBody User user){ userRepository.save(user); return "success"; }
點擊確定之后:
數據是成功添加了,不過有個bug,就是 左邊都會高亮顯示,算了,不管了。主要是看看前后端分離的整個流程,至此springboot+vue就到這里了。