ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링 - 컨트롤러를 이용해 view jsp 페이지를 여는 방법
    기타/Spring MVC 2021. 2. 3. 17:27

    일단 컨트롤러를 사용하려면 servlet-context.xml 안에 해당 컨트롤러가 들어있는 패키지 경로를

    표시해주어야한다.

    그렇지 않으면 경로를 찾을 수 없어서 에러가 발생 

    <context:component-scan base-package="패키지경로" />

     

    아무런 class를 하나 만들어준다

    그리고 컨트롤러 표시를 달아주기

    package com.swj.spring_ex;
    
    @Controller
    public class MyController { 
    
    }

     

     

    그 다음 만든 페이지를 @RequestMapping 이용해 맵핑시켜준다.

    @Controller
    public class MyController {
    	
    	@RequestMapping("/content/contentView")
    	public String contentView(Model model) {
        
        	//모델 객체
            //데이터 설정만 가능하다
            // model.addAttribute(변수이름, 변수에 넣을 데이터값)
    		model.addAttribute("id", "아이디입니다");
    		return "/content/contentView";
    	}
        
    }   

     

     

    여기서 return 값과 맵핑값은 루트 뒤 경로를 써준다 

    root/리턴값 이렇게 들어간다.

     

    package com.swj.spring_ex;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    @RequestMapping("/board")
    public class SampleRequest {
    	
    	@RequestMapping("/view")
    	public String view() {
    		return "/board/view";
    	}
    }

    맵핑은 클래스에도 적용 가능하다.

    마찬가지로 return에는 /board를 써줘야 알맞게 찾아간다.

     

     

    객체를 만드는 법은 Model, ModelAndVeiw가 있는데 사용법은 비슷하다.

    이게 나중에 수정이 저 편할 것 같기도

    @Controller
    public class MyController {
    
    	@RequestMapping("/model/modelView")
    	public ModelAndView modelView(Model model) {
    		
            //데이터와 뷰를 동시에 설정가능
    		ModelAndView mv = new ModelAndView();
    		mv.addObject("id", "123465"); //뷰의 이름으로 보낼 데이터 값
    		mv.setViewName("/model/modelView"); //뷰의 이름
    		return mv;
    	}
    }
    

     

    댓글

Designed by Tistory.