인프런 커뮤니티 질문&답변

묵국님의 프로필 이미지
묵국

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

스프링 MVC - 실용적인 방식

model.addAttribute 질문있어요

작성

·

431

4

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

@RequestMapping("/save")
public String members(@RequestParam ("username") String username,
                            @RequestParam ("age") int age,
                            Model model) {
    Member member = new Member(username, age);
    System.out.println("member = " + member);
    memberRepository.save(member);
    ModelAndView mv = new ModelAndView("save-result");
    model.addAttribute("username");
    return "save-result";

이 코드에서 model에 addAttribute메소드를 username만 넘기고 age를 넘기지 않은 이유가 궁금합니다

답변 1

0

안녕하세요. dce235님, 공식 서포터즈 y2gcoder입니다.

혹시 번거롭지 않으시다면 해당 코드가 어딨는지 알려주시겠습니까? 제가 찾아본 결과 현재 질문 주신 스프링 MVC - 실용적인 방식 강의 자료와 강의 영상 내에서는 위와 같은 코드를 찾지 못했습니다. 혹시 제가 놓친 부분이 있다면 말씀해주시면 감사하겠습니다!

    @PostMapping("/save")
    public String save(
            @RequestParam("username") String username,
            @RequestParam("age") int age,
            Model model) {
        Member member = new Member(username, age);
        memberRepository.save(member);
        model.addAttribute("member", member);
        return "save-result";
    }

 

감사합니다.

묵국님의 프로필 이미지
묵국
질문자

SpringMemberControllerV3 클래스안의 코드 입니다
스프링 MVC - 실용적인 방식 강의 코드요

정말 죄송합니다. 제가 꼼꼼하게 찾아보지 못한 것인지, 강의자료, 강의 영상, 강의 소스 코드(servlet)까지 확인해봐도 위의 코드를 찾지 못하겠습니다.

강의자료는 2023-01-15, 강의 소스 코드는 현재 올라가있는 것과 동일한 2020-03-08 버전입니다.

image정확한 위치를 계속 여쭤봐서 죄송합니다. 제가 아는 save-result.jsp는

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
성공
<ul>
    <li>id=${member.id}</li>
    <li>username=${member.username}</li>
    <li>age=${member.age}</li>
</ul>
<a href="/index.html">메인</a>
</body>
</html>

다음과 같고 다음에 값을 제대로 넣으려면 member 객체 자체가 필요한데, dce235님께서 말씀해주신 것과 같이, 코드가 되어있으면 save-result.jsp가 제대로 작동하지 않을 것이라 생각하고, 그래서 질문해주신 것이라 생각하기 때문입니다!

혹시 몰라 SpringMemberControllerV2도 확인해보았습니다!

 @RequestMapping("/save")
      public ModelAndView save(HttpServletRequest request, HttpServletResponse
  response) {
          String username = request.getParameter("username");
          int age = Integer.parseInt(request.getParameter("age"));
          Member member = new Member(username, age);
          memberRepository.save(member);
          ModelAndView mav = new ModelAndView("save-result");
          mav.addObject("member", member);
          return mav;
      }

 

묵국님의 프로필 이미지
묵국
질문자

앗 제가 질문의 코드가 오타가 났었네요 죄송합니다.. 정성스러운 답변 정말 감사합니다 답변주신 코드가 맞는 코드인것 같아요

아 정말 다행입니다! :)

파이팅입니다!!

묵국님의 프로필 이미지
묵국

작성한 질문수

질문하기