본문 바로가기
Spring boot Web project/Web Technology

[Java] Controller 작성법

by 데구르르르 2020. 2. 14.
728x90

< RequestMapping >

- value : 접근가능한 이름

- method : RequestMethod.POST   or  RequestMethod.GET

 

< ResponseBody >

- ajax 이용시 Controller 함수 위에 mapping

 

=>> Method 명칭 위에 mapping


< RequestParam > - data 넘겨받음

- value : Method 안에서의 data 변수 명칭 선언

- required : true 가 기본값 , 생략시 true 로 설정 -> 즉 required : false 일 때에만 설정 하면 OK

             false 인 경우에는 data 가 넘어올 수도 안넘어 올 수도 있음

+ 형식 @RequestParam ( value = " kk ", required = false ) String jj 

   jj 라는 변수명을 가진 data 를 넘겨받아 Method 내에서는 kk 라는 변수명칭으로 사용 , jj data 가 선택적으로 넘어옴 

 

< HttpServletRequest request, HttpServletResponse response > 

- RequestParam 뒤에 콤마로 이어서 붙임 

 

=>> Method 명칭 뒤에 이어서 mapping


< html 에서 Controller에서 넘겨받은 data 사용시 >

- in Controller Method

  -> Model And View 리턴

  ModelAndView kk = new ModelAndView () ;

  kk.addObject ( "pp" , qq ) ;   ->  Method 내의 qq 데이터가 ModelAndView 에 Setview 에 pp 데이터로 넘어감 

  kk.setViewName ( "jj" ) ;   ->  jj.html 페이지로 설정 

  return kk ;  ->  addObject 된 데이터를 가지고 setView 된 html 페이지로 넘어감 


< ajax 사용시 Method >  -  if ( ajax success 시 Controller Method 에서 넘겨받은 data 를 사용해야함 )

- in Controller Method   

     -> Map < String , Object > 리턴

      Method 내부에서 사용하는 방법

      Map < String , Object > kk = new HashMap < String , Object > () ;

     kk.put ( "pp" , qq ) ;   ->  Method 내의 qq 데이터가 ajax success 에 pp 데이터로 넘어감 

- in Ajax

     success : function ( data ) {

          console.log ( data.pp ) ;   ->  "data.넘겨준변수명" 으로 사용가능

          + 만약 넘겨준 data 가 리스트 형식이라면

             $.each ( data.pp , function ( index , pppp ) {

                    console.log ( pppp. 데이터의 변수 ) ; 

              });  으로 각각 객체에 대해 접근 가능

    }

     

 

728x90

댓글