我使用 thymeleaf 創建了一個注冊頁面,并希望將用戶輸入資料存盤在資料庫中。我正確定義了每件事,但是當我單擊我的注冊按鈕時,它無法存盤資料,當我檢查注冊頁面時,控制臺中沒有顯示錯誤。注冊.html
<div class="container mt-5">
<div class="card" style="width: 55rem; ">
<div class="card-header text-center bg-info ">
<h3>Register</h3>
</div>
<div class="card-body">
<form class="mx-1 mx-md-4" th:action="@{/save}" th:method="post" th:object="${consumer}">
<div class="mb-3">
<label class="form-label" for="firstName">first Name </label>
<input class="form-control" id="firstName" placeholder="[email protected]" th:field="*{firstName}"
th:type="text">
</div>
<div class="mb-3">
<label class="form-label" for="phoneNumber">phone Number</label>
<input class="form-control" id="phoneNumber" placeholder="[email protected]" th:field="*{phoneNumber}"
th:type="text">
</div>
<div class="mb-3">
<label class="form-label" for="email">Email address</label>
<input class="form-control" id="email" placeholder="[email protected]" th:field="*{email}"
th:type="email">
</div>
<div class="form-check d-flex justify-content-center mb-5">
<input
class="form-check-input me-2"
id="form2Example3c"
type="checkbox"
value=""
/>
<label class="form-check-label">
I agree all statements in <a th:href="@{/term}">Terms of service</a>
</label>
</div>
<div class="d-flex justify-content-center mx-4 mb-3 mb-lg-4">
<button class="btn btn-primary btn-lg" type="button">Register</button>
</div>
</form>
</div>
</div>
</div>
注冊控制器類
@PostMapping("/save")
fun getConsumer(@ModelAttribute("consumer") consumer: Consumer,model:Model):String{
consumerRepository.save(consumer)
return "successPage"
}
GetMapping 進行注冊
@GetMapping("/register")
fun registerPage(@ModelAttribute consumer: Consumer,model: Model):String{
model.addAttribute("consumer",consumer)
return "SignUp"
}
物體類
package com.nilmani.testthymeleaf.entity
import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.GenerationType
import javax.persistence.Id
@Entity
data class Consumer(
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
val id:Long=-1,
val firstName:String="",
val phoneNumber:Long=-1,
val email:String=""
)
代碼沒有存入資料庫是什么原因
uj5u.com熱心網友回復:
表單未提交,因為您使用的是簡單<button>元素,單擊它將無效,除非您使用某些 JavaScript 提交表單。
但是,您可以簡單地使用<input>type的實際元素submit:
<div class="d-flex justify-content-center mx-4 mb-3 mb-lg-4">
<input class="btn btn-primary btn-lg" type="submit" value="Register" />
</div>
單擊此元素現在將實際提交表單。
uj5u.com熱心網友回復:
您必須使用 宣告按鈕<input type = "submit" value="Register">。如果您在使用或者您的視圖按鈕宣告<input type = "button">或<button>Register</button>則頁面不會被重新裝入。如果頁面未加載,則資料也未插入資料庫。如果您正在使用 ajax,則必須將持久資料的資料加載到資料庫中,然后情況就不同了。
改變
<button class="btn btn-primary btn-lg" type="button">Register</button>
到
<input type="submit" class="btn btn-primary btn-lg" value="Register" />
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/406053.html
標籤:
