728x90
반응형
타임리프 , form에서 th를 사용하는 법
th:object를 쓰면 name 안넣어줘도 된다.
th:field를 넣어준 이유는 테스트 해보기 위함이다. 자동으로 id와 name, value 3개의 값들을 보여준다.
하지만 check값과 radio는 value 속성에 값을 따로 지정해줘야한다. 그렇다면 checkbox와 radio는 어떤 값을 가질까?
id와 name에만 값이 들어가고 value는 " " 과 같이 빈 값이 나타나기 때문에 따로 value 값을 넣어줘야한다.
이런식으로 쓸 수 있는 이유는 memberVO로 데이터가 넘어왔기 때문에 사용할 수 있으므로,
컨트롤에서 메소드의 매개변수에 MemberVO 커맨드 객체를 생성해줘야한다.
MemberVO는 위 사진의 왼쪽에 보다시피 MemberVO 클래스를 하나 만들어 사용한 것이다.
join.html
그래서 위와 같이 최종적으로 join html을 변경해줄 수 있다. 이전 서블릿에서 짯던 코드와는 사뭇 다르다.
타임리프를 써서 사용했기 때문이다. id, name, value 값을 통 틀어서 field를 사용한다.
단, radio와 checkbox는 따로 value 값을 줘야하는 것을 잊지말자.
MemberController
form태그를 이용해 데이터를 받아왔고, return "redirect:/" 라는 문장으로 코드를 썼다.
html이 아닌 컨트롤러(Controller)로 다시 보낼 때에는 위와같이 경로를 작성한다.
member_list.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <table border=1> <tr> <td>No</td> <td>아이디</td> <td>이름</td> <td>나이</td> <td>성별</td> </tr> <!-- list로 반복하고 하나씩 뺏을떄 member이고 state는 순번이다. 하나씩 빼겠다는 말 --> <tr th:each="member, state : ${list}"> <td>[[${state.index}]] / [[${state.count}]]</td> <td>[[${member.memId}]]</td> <td><a th:href="@{/detailMember(memId=${member.memId})}">[[${member.memName}]]</a></td> <td><div th:text="${member.memAge}"></div></td> <td><span th:text="${member.gender}"></span></td> </tr> </table> <div> <input type="button" value="회원 등록하러 가기" th:onclick="location.href='/board'"> <input type="button" value="회원 등록하러 가기 방법2" th:onclick="|location.href='@{/board}';|"> <!-- 데이터를 넘길때 방법2를 써야한다. --> </div> </body> </html> | cs |
타임리프 사용해서 th:object, th:field을 사용하는 방법에 대해 알아보았다.
다음에는 이것을 완성 시켜 회원 등록을 기능을 모두 완성해보아야겠다.
728x90
반응형
'✨ Back-end > Spring-Boot' 카테고리의 다른 글
[Spring] DI(의존성 주입) @Autowired, @Resource, @Controller, @Service (0) | 2023.03.15 |
---|---|
[Spring] 의존성 주입(DI)과 제어의 역전(IOC) (1) | 2023.03.15 |
[Spring] 어노테이션 @RequestParam 과 @ModelAttribute (0) | 2023.03.15 |
[Spring] 스프링에서 Mybatis Oracle 데이터베이스 연동하기 (0) | 2023.03.14 |
[Spring] 스프링 form태그 이용해서 페이지 이동 (0) | 2023.03.13 |
댓글