【发布时间】:2021-04-01 22:33:44
【问题描述】:
编码员! 我有一个问题。
我的 thymeleaf 表单数据不会发布到 Controller。 这是我的代码。
百里香
<form role="form" th:action="@{/board/insertBoard}" th:object="${boardDto}" method="post">
<input type="text" th:value="${board.boardNo}">
<input class="form-control" type="text" th:field="*{boardName}" th:value="test" placeholder="게시판 제목을 입력해주세요." aria-label="게시판 제목 삽입용 폼" required="required"/>
<button class="btn btn-primary" id="insertBoard" type="submit">삽입</button>
</form>
BoardDto
private int boardNo;
private String boardName;
public int getBoardNo() {
return boardNo;
}
public void setBoardNo(int boardNo) {
this.boardNo = boardNo;
}
public String getBoardName() {
return boardName;
}
public void setUserPwd(String boardName) {
this.boardName = boardName;
}
板控制器
@RestController
@RequestMapping("/board")
public class BoardController {
@Autowired
BoardService boardService = new BoardService();
@Autowired
PostService postService = new PostService();
@GetMapping("/boardList/{boardNo}")
ModelAndView board(@PathVariable(name="boardNo") Integer boardNo) {
ModelAndView mav = new ModelAndView("board/list");
mav.addObject("boardDto", new BoardDto());
mav.addObject("board", boardService.selectBoardById(boardNo));
mav.addObject("boardList", boardService.selectAllBoard());
mav.addObject("postList", postService.selectPostByBoard(boardNo));
return mav;
}
@PostMapping("/insertBoard")
public ModelAndView insertBoard(@ModelAttribute("boardDto") BoardDto boardDto, BindingResult result,
RedirectAttributes redirect, HttpServletRequest request, HttpServletResponse response) {
ModelAndView mav = new ModelAndView("board/list");
System.out.println("---------------------> board!!!!!!!!!!!");
System.out.println("---------------------> " + boardDto.getBoardNo());
System.out.println("---------------------> " + boardDto.getBoardName());
System.out.println("---------------------> board!!!!!!!!!!!");
boardService.insertBoard(boardDto);
mav.addObject("board", boardService.selectBoardById(boardDto.getBoardNo()));
mav.addObject("boardList", boardService.selectAllBoard());
mav.addObject("postList", postService.selectPostByBoard(boardDto.getBoardNo()));
return mav;
}
....
当我尝试插入数据时,控制台返回到我在 Controller 中创建的 sysout 下方。
---------------------> board!!!!!!!!!!!
---------------------> 0
---------------------> null
---------------------> board!!!!!!!!!!!
我想通过Controller中的@ModelAttribute获取数据。 如何在 Controller 中获取此 Dto 数据?
【问题讨论】:
标签: spring-boot thymeleaf