• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

writeDao()를 할때 값은 어느코드에서 넣어주는건가요??

20.01.27 20:08 작성 조회수 93

0

1. writeDao()를 할때 파라미터들을final String writer, final String title, final String content

이렇게 받아오잖아요 그 파라미터들을 넣어주는게  return template.update(query, writer, title, content); 에서 넣어주는건가요?? values에 물음표에 실제들어갈 값들이 전달되는게 template.update 에서 전달되는것인지 궁금합니다.

2. 컨트롤러에서 값을 받을때 Model 파라미터의 위치나 HttpServletRequest request의 위치가 변해도상관이 없는건가요?? 예를들어 자바스크립트에서는 인자를 받을때 첫번째인지 두번째인지 구분되어야할 필요가 있잖아요 특히 다른사람이 만든 외부 라이브러리를 사용할때는 첫번째 인자인지 두번째 인자인지 위치가 중요할텐데 자바에서는 메서드에 인자를 넘겨줄때 어차피 타입을 명시해주니까 상관없을것 같기도한데 어떤지 궁금합니다.

예를들어

@RequestMapping("/delete")
public String delete(HttpServletRequest request, Model model){
dao.deleteDao(request.getParameter("id"));
return "redirect:list";
}

이렇게 받든

@RequestMapping("/delete")
public String delete(Model model, HttpServletRequest request ){
dao.deleteDao(request.getParameter("id"));
return "redirect:list";
}

이렇게 받든 파라미터의 순서는 상관이없는건가요??

답변 1

답변을 작성해보세요.

0

1.

template.update(query, writer, title, content); 의 writer, title, content 가 query 문의 물음표에 차례대로 할당이 됩니다.

2.

일반적으로 자바에서 만든 메서드는 파라미터의 순서가 바뀌면 안됩니다.

하지만 스프링에서는 이미 스프링 WEBMVC 에서 처리해 놓은 것에서 같은 타입을 꺼내 사용하는 것이기 때문에 순서는 바뀌어도 됩니다.