//회원가입
@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";
}
즐겁게 읽었습니다. 유용한 정보 감사합니다.