728x90

AnswerForm์์ฑ
package com.mysite.sbb.answer;
import javax.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class AnswerForm {
@NotBlank(message = "๋ด์ฉ์ ํ์ ํญ๋ชฉ์
๋๋ค.")
private String content;
}
AnswerController
//๋ต๋ณ ์ ์ฅ
@PostMapping("/create/{id}") //์ฃผ์์ ์๋ ๋ณ์ { }์์ ๋ฃ๊ธฐ
public String createAnswer(Model model, @PathVariable("id") Integer id,
@Valid AnswerForm answerForm, BindingResult result) {
Question question = this.qService.getQuestion(id);
if(result.hasErrors()) {
model.addAttribute("question", question);
return "question_detail";
}
//๋ต๋ณ ์ ์ฅ
aService.create(question, answerForm.getContent());
return String.format("redirect:/question/detail/%s", id);//์ง๋ฌธ ์์ธ๋ณด๊ธฐ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธ
}
***** @valid ์ ์์น๋ ๊ฒ์ฌํ ํญ๋ชฉ ์์ ๋ถ์ฌ์ค๋ค. ์๋๋ฉด ๊ฒ์ฌ์ํจ!!!!!

question_detail.html
<form
th:action="@{|/answer/create/${question.id}|}"
th:object="${answerForm}"
method="post"
class="my-3"
>
<div
class="alert alert-danger"
role="alert"
th:if="${#fields.hasAnyErrors()}"
>
<div th:each="err : ${#fields.allErrors()}" th:text="${err}" />
</div>
<textarea
th:field="*{content}"
rows="10"
class="form-control"
></textarea>
<input type="submit" value="๋ต๋ณ๋ฑ๋ก" class="btn btn-primary my-2" />
</form>
QuestionController - detail์์ -
//์์ธ๋ณด๊ธฐ ํ์ด์ง
@GetMapping("/detail/{id}")
public String detail(Model model ,@PathVariable("id") int id,
AnswerForm answerForm) {
Question question = qService.getQuestion(id);
model.addAttribute("question", question);
return "question_detail";
}



728x90
'BACKEND > SpringBoot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ํ์ด์ง (0) | 2023.11.09 |
|---|---|
| ์๋ฌ ์ฐฝ , ๋ค๋ธ๋ฐ ๋ชจ๋ํ (2) | 2023.11.09 |
| ์ง๋ฌธ ๋ฑ๋ก ์ฒ๋ฆฌ ๋ฐ ์ ํจ์ฑ๊ฒ์ฌ (5) | 2023.11.09 |
| ๋ถ๋ถ ๋ชจ๋ํ ( th:fragment / th:replace ) (0) | 2023.11.09 |
| ์ง๋ฌธ ๋ชฉ๋ก/์์ธ๋ณด๊ธฐ - ๋ถํธ์คํธ๋ฉ ์ ์ฉ (0) | 2023.11.09 |