그럼 이번에는 return 타입이 만들어져 있는 경우도 한번 공부 해봤다.


만들어져 있어야 되기 때문에 vo부터 생성한다.


vo 작성



public class ProductVO {
	
	private String name; // 상품명
	private double price; // 가격
	
	// 생성자와 set,get 출력을 위한 toString까지 생성해준다.
	public ProductVO(String name, double price) {
		super();
		this.name = name;
		this.price = price;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getPrice() {
		return price;
	}

	public void setPrice(double price) {
		this.price = price;
	}

	@Override
	public String toString() {
		return "ProductVO [name=" + name + ", price=" + price + "]";
	}
}



이번에는 컨트롤러 작성

 

@Controller
public class Controller {
	
	private static final Logger logger = 
		LoggerFactory.getLogger(Controller.class);
	
	@RequestMapping("doD")
	public String doC(Model model) { // Model이란 Spring에서 지원해주는 클래스이다.
		
		ProductVO product = new ProductVO("Sample Product", 10000);
		logger.info("doC called ...............");
		
		model.addAttribute(product);
		
		return "productDetail";
	}
}


Model은 Spring에서 지원해주는 클래스로 View(return)에 원하는 데이터를 전달해주는 역할을 합니다. 
addAttribute("이름", 객체)는 객체에 특별한 이름을 부여해 뷰에서 그 이름값을 이용하여 처리할 수있게 하는 명령어 입니다.
하지만 여기서는 이름을 따로 지정하지 않았기 때문에 앞글자가 소문자가된 productVO가 이름이 됩니다.

마지막으로 jsp 파일 까지 작성

 

</body>

	<span>${productVO.name }</span>
	<span>${productVO.price }</span>
	
</body>


결과값은 예상 가능하게 컨트롤러에서 정해준 값이 들어간다.

 

locallhost:8080/web/doD

Sample Product 10000.0




'JAVA > spring' 카테고리의 다른 글

JSON 데이터생성 @ResponseBody  (0) 2017.09.08
Redirect:  (0) 2017.09.08
return 타입이 String인 경우  (0) 2017.09.06
return 타입이 void 일 경우  (0) 2017.09.06
스프링 MVC에서 주로 사용하는 어노테이션  (0) 2017.09.06