Spring 최프 Controller이관

stan·2023년 8월 10일
0

Spring

목록 보기
10/22

MemberController

//회원가입
	@RequestMapping(value="/singup.do", method=RequestMethod.POST)
	//ctrl의 모든 객체 : command 객체; new를 대신 해주는 컨테이너를 활용
	// jsp:useBean 과 jsp:setProperty역할을 같이 함 
	//사용자가 입력한 값들이 mVO로 넘어온다
	public String signup(MemberVO mVO,@RequestParam(value="domaintxt",required=false)String domaintxt, @RequestParam(value="domainlist",required=false)String domainlist) {
		
		String fullEmail = "";
		
		System.out.println("signupController 로그");
		System.out.println(mVO);
		
		/*
		※ domaintxt라는게 mVO의 멤버변수로 없음
		해결 방법 : 
		1) RequestParam어노테이션사용
		2) VO에 멤버변수 추가 (더 많이 쓰임)
		
		if(request.getParameter("domaintxt")==null) {
			email=request.getParameter("email")+"@"+request.getParameter("domainlist");
		}else {
			email=request.getParameter("email")+"@"+request.getParameter("domaintxt");
		}
		mVO.setEmail(email);
		*/
		
		//1)RequestParam어노테이션사용
		if(domaintxt == null) {
			fullEmail = (mVO.getEmail()+"@"+domainlist);
		}
		else {
			fullEmail = (mVO.getEmail()+"@"+domaintxt);
		}
		//===========================================
		//2)VO에 멤버변수 추가
		if(mVO.getDomaintxt()==null) {
			fullEmail = (mVO.getEmail()+"@"+mVO.getDomainlist());
		}
		else {
			fullEmail = (mVO.getEmail()+"@"+mVO.getDomaintxt());
		}
		
		mVO.setEmail(fullEmail);
		
		//멤버변수로 domain늘리고 컬럼추가할거임
		//role : 관리자, 일반회원, 구글회원
		// 가입할때 아이디에 g@가 붙어있으면 알아서 구글회원 
		
		if(memberService.insert(mVO)) {
			return "main.do";//디폴트가 forward
			//일반적으로 페이지간 이동이 필요한 상황에서 redirect 활용? 브라우저에게 새로운 요청; url로 새로운 요청?
			
			//리다이렉트 : 무조건 데이터가 없어야 함
			//포워드는 : 작은 데이터라도 1개이상있으면 무조건
			
			//""쓰면 무조건 ViewResolver 가는거임 근데 디폴트 foward 
		}
		return "signup.do";
		
	}
  • 모델에 domain 멤버변수 추가
  • 뷰에서 g@가 붙어있으면 알아서 role이 구글회원으로 설정 될거임
  • controller 에서 그냥 insert만 하면 됨
profile
이진 입니다

1개의 댓글

comment-user-thumbnail
2023년 8월 10일

즐겁게 읽었습니다. 유용한 정보 감사합니다.

답글 달기