私はspring mvc worldに非常に新しいです。私はブール値をHTMLフォームのチェックボックスから送信しようとしています。ユーザーがチェックボックスをオンにすると、trueを送信し、そうでない場合はfalseを送信します。私はそれがstandard behaviour is the value is only sent if the checkbox is checked.
は、だから私はチェックボックスは、フォームが、それ以外の場合は提出しないであろう、チェックボックスの値を提出するチェックした場合にそれがあることを理解しているものを言っthis so postを、発見したいくつかのgoogilng後Spring MVC - ブール変数のHTMLチェックボックスの値をバインドする方法
<form class="attendanceBook" role="form" method="post" action="/attendances">
<div class="row">
<div class="form-group">
<div class="col-xs-4">
<label class="control-label">Check Here</label>
</div>
<div class="col-xs-4">
<input type="checkbox" name="i" id="i" value="true" />
</div>
<div class="col-xs-4">
<input type="submit" value="Click"/>
</div>
</div>
</div>
</form>
。チェックされていないチェックボックスがあると、データクラスの初期値が有効になります。
しかし私の場合は、フォームを提出するたびにtrue
を提出します。
ここにバインドhtmlフォームの送信用の私の残りのコントローラです。
@RestController
@RequestMapping("attendances")
class AttendanceRestController {
val logger = getLogger(AttendanceRestController::class.java)
@PostMapping
fun patchAttendance(@RequestBody attendanceJson: AttendanceJson): ResponseEntity<*> {
logger.info("attendanceJson {}", attendanceJson)
return responseOK(attendanceJson)
}
}
データクラス(私はkotlin使用しています)
data class AttendanceJson (
var i: Boolean = false,
var t: String = ""
)
それでは、チェックボックスとフォームの送信からブールデータをバインドする方法となります。私もThymeleaf
を使用しています。前もって感謝します。
返信いただきありがとうございます。はい、私はJSでこれを行うことができます。しかし、「標準行動」はどうですか? – seal
私はそれが問題になるとは思わない、このコードは私のために働いた。あなたの解決策は –
+1です。それは素敵で清潔です。しかし、誰かが理由を答えることができ、生のHTMLだけでこれをどうやって行うことができるかを見てみましょう。 – seal