티스토리 뷰

반응형
  • ${} : Model 에 있는 값 꺼내기

  • 리다이렉트

  • 웹에 데이터 보내기: Model

  • 웹에 데이터 등록하기: Form form

package com.hello.hellospring.controller;

public class MemberForm {
  private String name;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }
}
package com.hello.hellospring.controller;

import com.hello.hellospring.domain.Member;
import com.hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;

@Controller
public class MemberController {
  @Autowired private MemberService memberService; // 스프링 컨테이너야 알아서 등록해

  @Autowired
  public MemberController(MemberService memberService) {
    this.memberService = memberService;
  }

  @GetMapping("/members/new")
  public String createForm() { // 맙소사 return 값 스트링 => template 경로에 해당 html 을 찾아 렌더링
    return "members/createMemberForm";
  }

  @PostMapping("/members/new") //post 요청 해당 url 처리
  public String create(MemberForm form) { // MemberForm form 객체를 serialize 해 보내줌
    Member member = new Member();
    member.setName(form.getName());
    memberService.join(member);
    return "redirect:/";// 리다이렉트:해당 url
  }

  @GetMapping("/members")
  public String memberList(Model model) { // Model model 을 이용해 원하는 정보를 html 에 쏴줄 수 있다.
    List<Member> members = memberService.findMembers();
    model.addAttribute("members", members);
    return "members/memberList";
  }
}

${} : Model 에 있는 값 꺼내기

        <tr th:each="member : ${members}">
                <td th:text="${member.id}"></td>
                <td th:text="${member.name}"></td>
            </tr>
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
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
글 보관함