[Spring] 스프링 웹(jsp)에 데이터출력하기#2

이번에는 빈즈를 사용해서 데이터를 저장하고 출력해보겠습니다.

Member

package com.co.mvc03;

public class Member {

	private String name;
	private String id;
	private String pw;
	private String email;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPw() {
		return pw;
	}
	public void setPw(String pw) {
		this.pw = pw;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
	
}

 Member라는 VO클래스를 하나 생성합니다.

 

Controller

@Controller
public class MemberController {

	
	@RequestMapping("/join")
	public String confirmId(HttpServletRequest request, Model model) {

		Member member = new Member();

		member.setName(request.getParameter("name")); 
		member.setId(request.getParameter("id")); 
		member.setPw(request.getParameter("pw")); 
		member.setEmail(request.getParameter("email"));

		model.addAttribute("member", member);

		return "member/join";
	}

1 Member 객체 생성

2 member의 setter에 값 저장

3 addAttribute()에 member 객체 값 자체 저장

 

join.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

join.jsp<br>
이름 :  ${member.name }<br>
아이디 : ${member.id }<br>
비번 : ${member.pw }<br>
메일 : ${member.email}

</body>
</html>

1. Expression language ( EL ) 을 사용해서 값을 출력

2. ${member.name} 기존의 jsp형태로 변경하면 <%= member.getName()%> 이것과 같은 형태가 됩니다.
스프링이  member객체를 받아왔기 때문에 member.필드명 형태로 값을 뽑아올 수 있습니다.

 

근데 이렇게 사용하면 Controller에서 인자, 혹은 변수값이 많아지고 코드가 길어집니다.
이 코드의 양을 확 줄일 수 있는데 스프링에서 객체의 존재만 주입시켜주면 위의 컨트롤러에서 변수추가하는 부분을 자동으로 처리해주기 때문에 굉장히 편하게 사용할 수 있습니다.

스프링방식으로 Controller 변경해보기

	@RequestMapping("/join")
	public String confirmId(Member member) {
		return "member/join";
	}

위의 Controller 코드 부분이 한줄로 끝나게 됩니다. Member 객체만 주입시켜주면 스프링이 모든것을 다 자동으로 처리해주기 때문에 굉장히 간편하게 사용할 수 있습니다.

그리고 jsp파일에서 EL로 출력할때 ${member.name} 혹은 ${Member.name}으로 표현할 수 있습니다. (기본으로 클래스명을 인식하고 다음으로 매개변수 이름을 인식)

 

결과출력

 

댓글

Designed by JB FACTORY