[요청과 처리]
요청 : /registerUserId
처리 : String registerUserId(String userId)
[요청과 처리]
요청 : /registerMemberUserId
처리 : String registerMemberUserId(Member member)
[요청과 처리]
요청 : /registerPassword
처리 : String registerPassword(Member member )
[요청과 처리]
요청 : /registerRadio
처리 : String registerRadio(String gender)
[요청과 처리]
요청 : /registerSelect
처리 : String registerSelect(String nationality)
[요청과 처리]
요청 : /registerMultipleSelect01
처리 : String registerMultipleSelect01(String cars)
[ex) cars=volvo,jeep,bmw]
[요청과 처리]
요청 : /registerMultipleSelect02
처리 : String registerMultipleSelect02(String[] carArray)
[ex) carArray[volvo,jeep,bmw] 형태로 들어옴 (각 index를 가짐)]
[요청과 처리]
요청 : /registerMultipleSelect03
처리 : String registerMultipleSelect03(ArrayList carList)
[ex) carList null] ::: 리스트로 값을 가져올 시 null
[요청과 처리]
요청 : /registerCheckbox01
처리 : String registerCheckbox01(String hobby)
[ex) hobby = Sports, Movie]
[요청과 처리]
요청 : /registerCheckbox02
처리 : String registerCheckbox02(String[] hobbyArray)
[ex) hobbyArray[Sports, Movie] 형태로 들어옴 (각 index를 가짐)]
[요청과 처리]
요청 : /registerCheckbox03
처리 : String registerCheckbox03(List hobbyList)
[No primary or default constructor found for interface java.util.List 에러발생]
[요청과 처리]
요청 : /registerCheckbox04
처리 : String registerCheckbox04(String developer)
[체크되면 value에 설정된 값, 체크 안되면 null]
[요청과 처리]
요청 : /registerCheckbox05
처리 : String registerCheckbox05(boolean foreigner)
[체크되면 value에 설정된 값 true, 체크 안되면 null]
[요청과 처리]
요청 : /registerAddress
처리 : String registerAddress(Address address)
[요청과 처리]
요청 : /registerUserAddress
처리 : String registerUserAddress(Member member)
[요청과 처리]
요청 : /registerUserCardList
처리 : String registerUserCardList(Member member)
[요청과 처리]
요청 : /registerTextArea
처리 : String registerTextArea(String introduction)
[요청과 처리]
요청 : /registerDate01
처리 : String registerDate01(Date dateOfBirth)
[요청과 처리]
요청 : /registerDate02
처리 : String registerDate02(@DateTimeFormat(patten = "yyyyMMdd") Date dateOfBirth)
<h4>7. 폼방식 요청 처리</h4>
<p>1) 폼 텍스트 필드 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.</p>
<form action="/registeruserId" method="post">
<p>userId : <input type="text" name="userId" /></p>
<p><input type="submit" value="registeruserId"/> </p>
</form><br/>
<p>2) 폼 텍스트 필드 요소값을 자바빈즈 매개변수로 처리한다.</p>
<form action="/registerMemberUserId" method="post">
<p>userId : <input type="text" name="userId" /></p>
<p><input type="submit" value="registerMemberUserId"/> </p>
</form><br/>
<p>3) 폼 비밀번호 필드 요소값을 자바빈즈 매개변수로 처리한다.</p>
<form action="/registerPassword" method="post">
<p>password : <input type="password" name="password" /></p>
<p><input type="submit" value="registerPassword"/> </p>
</form><br/>
<p>4) 폼 라디오 버튼 요소 값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.</p>
<form action="/registerRadio" method="post">
<p>gender : </p>
<p><input type="radio" name="gender" value="male" /> Male </p>
<p><input type="radio" name="gender" value="female" checked="checked"/> Female </p>
<p><input type="radio" name="gender" value="other" /> Other </p>
<p><input type="submit" value="registerRadio"/> </p>
</form><br/>
<p>5) 폼 셀렉트 박스 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.</p>
<form action="/registerSelect" method="post">
<p>nationality</p>
<select name="nationality">
<option>☆선택해주세요☆</option>
<option value="korea">대한민국</option>
<option value="germany">독일</option>
<option value="austrailia">호주</option>
<option value="canada">캐나다</option>
<option value="japan">일본</option>
</select>
<p><input type="submit" value="registerSelect"/> </p>
</form><br/>
<p>6) 복수 선택이 가능한 폼 셀렉트 박스 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.</p>
<form action="/registerMultiSelect01" method="post">
<p>cars</p>
<select name="cars" multiple="multiple">
<option value="jeep">JEEP</option>
<option value="volvo">VOLVO</option>
<option value="bmw">BMW</option>
<option value="audi">AUDI</option>
</select>
<p><input type="submit" value="registerMultiSelect01"/> </p>
</form><br/>
<p>7) 복수 선택이 가능한 폼 셀렉트 박스 요소값을 문자열 배열 타입 매개변수로 처리한다.</p>
<form action="/registerMultiSelect02" method="post">
cars: <br/>
<select name="carArray" multiple="multiple">
<option value="ferrari">FERRARI</option>
<option value="porsche">PORSCHE</option>
<option value="jeep">JEEP</option>
<option value="volvo">VOLVO</option>
<option value="bmw">BMW</option>
<option value="audi">AUDI</option>
</select>
<p><input type="submit" value="registerMultiSelect02_Arr"/> </p>
</form><br/>
<p>8) 복수 선택이 가능한 폼 셀렉트 박스 요소를 가진 리스트 컬렉션 타입 매개변수로 처리한다.</p>
<form action="/registerMultiSelect03" method="post">
cars: <br/>
<select name="carList" multiple="multiple">
<option value="ferrari">FERRARI</option>
<option value="porsche">PORSCHE</option>
<option value="jeep">JEEP</option>
<option value="volvo">VOLVO</option>
<option value="bmw">BMW</option>
<option value="audi">AUDI</option>
</select>
<p><input type="submit" value="registerMultiSelect03_List"/> </p>
</form><br/>
<p>9) 폼 체크박스 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.</p>
<form action="/registerCheckbox01" method="post">
hobby: <br/>
<input type="checkbox" name="hobby" value="sports"/> Sports<br/>
<input type="checkbox" name="hobby" value="music"/> Music<br/>
<input type="checkbox" name="hobby" value="movie"/> Movie<br/>
<input type="checkbox" name="hobby" value="game"/> Game<br/>
<input type="checkbox" name="hobby" value="development"/> Development<br/>
<input type="submit" value="registerCheckbox01"/>
</form><br/>
<p>10) 폼 체크박스 요소값을 문자열 배열 타입 매개변수로 처리한다.</p>
<form action="/registerCheckbox02" method="post">
hobby: <br/>
<input type="checkbox" name="hobbyArray" value="sports"/> Sports<br/>
<input type="checkbox" name="hobbyArray" value="music"/> Music<br/>
<input type="checkbox" name="hobbyArray" value="movie"/> Movie<br/>
<input type="checkbox" name="hobbyArray" value="game"/> Game<br/>
<input type="checkbox" name="hobbyArray" value="development"/> Development<br/>
<input type="submit" value="registerCheckbox02_Arr"/>
</form><br/>
<p>11) 폼 체크박스 요소값을 문자열 요소를 가진 리스트 컬렉션 타입 매개변수로 처리한다.</p>
<form action="/registerCheckbox03" method="post">
hobby: <br/>
<input type="checkbox" name="hobbyList" value="sports"/> Sports<br/>
<input type="checkbox" name="hobbyList" value="music"/> Music<br/>
<input type="checkbox" name="hobbyList" value="movie"/> Movie<br/>
<input type="checkbox" name="hobbyList" value="game"/> Game<br/>
<input type="checkbox" name="hobbyList" value="development"/> Development<br/>
<input type="submit" value="registerCheckbox03_List"/>
</form><br/>
<p>12) 폼 체크박스 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.</p>
<form action="/registerCheckbox04" method="post">
developer: <br/>
<input type="checkbox" name="developer" value="Y"/><br/>
<input type="submit" value="registerCheckbox04"/>
</form><br/>
<p>13) 폼 체크박스 요소값을 기본 데이터 타입인 불리언 타입 매개변수로 처리한다.</p>
<form action="/registerCheckbox05" method="post">
developer: <br/>
<input type="checkbox" name="foreigner" value="true"/><br/>
<input type="submit" value="registerCheckbox05"/>
</form><br/>
<p>14) 폼 텍스트 필드 요소값을 자바빈즈 매개변수로 처리한다</p>
<form action="/registerAddress" method="post">
postCode: <input type="text" name="postCode" ><br/>
location: <input type="text" name="location" ><br/>
<input type="submit" value="registerAddress"/>
</form><br/>
<p>15) 폼 텍스트 필드 요소값을 중첩된 자바빈즈 매개변수로 처리한다.</p>
<form action="/registerUserAddress" method="post">
address.postCode: <input type="text" name="address.postCode" ><br/>
address.location: <input type="text" name="address.location" ><br/>
<input type="submit" value="registerUserAddress"/>
</form><br/>
<p>16) 폼 텍스트 필드 요소값을 중첩된 자바빈즈 매개변수로 처리한다.</p>
<form action="/registerUserCardList" method="post">
카드1 - 번호 : <input type="text" name="cardList[0].no"></br>
카드1 - 유효년월 : <input type="text" name="cardList[0].validMonth"></br>
카드2 - 번호 : <input type="text" name="cardList[1].no"></br>
카드2 - 유효년월 : <input type="text" name="cardList[1].validMonth"></br>
<input type="submit" value="registerUserCardList"/>
</form><br/>
<p>17) 폼 텍스트 영역 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.</p>
<form action="/registerTextArea" method="post">
introduction : <br/>
<textarea rows="6" cols="100" name="introduction"></textarea></br>
<input type="submit" value="registerTextArea"/>
</form><br/>
<p>18) 폼 텍스트 영역 요소값을 Date 타입 매개변수로 처리한다.</p>
<p>날짜 문자열 형식을 yyyy/MM/dd 형식으로 지정하지 않으면 에러가 발생한다</p>
<p>날짜 문자열 형식을 내가 원하는 형태로 바꾸려면 @DatetimeFormat 어노테이션을 사용한다</p>
<form action="/registerDate01" method="post">
dateOfBirth : <input type="text" name="dateOfBirth"><br/>
<input type="submit" value="registerDate01"/>
</form><br/>
// 7. 폼방식 요청 처리
// 1)
// 폼 텍스트 필드 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.
@RequestMapping(value = "/registeruserId", method = RequestMethod.POST)
public String registeruserId(String userId){
logger.info("registeruserId");
logger.info("userId : " + userId);
return "success";
}
// 2)
// 폼 텍스트 필드 요소값을 자바빈즈 매개변수로 처리한다
@RequestMapping(value = "/registerMemberUserId", method = RequestMethod.POST)
public String registerMemberUserId(Member member){
logger.info("registerMemberUserId");
logger.info("member.getUserId() : " + member.getUserId());
return "success";
}
// 3)
// 폼 비밀번호 필드 요소값을 자바빈즈 매개변수로 처리한다
@RequestMapping(value = "/registerPassword", method = RequestMethod.POST)
public String registerPassword(Member member){
logger.info("registerPassword");
logger.info("member.getPassword() : " + member.getPassword());
return "success";
}
// 4)
// 폼 라디오 버튼 요소 값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.
@RequestMapping(value = "/registerRadio", method = RequestMethod.POST)
public String registerRadio(String gender){
logger.info("registerRadio");
logger.info("gender : " + gender);
return "success";
}
// 5)
// 폼 셀렉트 박스 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.
@RequestMapping(value = "/registerSelect", method = RequestMethod.POST)
public String registerSelect(String nationality){
logger.info("registerSelect");
logger.info("nationality : " + nationality);
return "success";
}
// 6)
// 복수 선택이 가능한 폼 셀렉트 박스 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.
@RequestMapping(value = "/registerMultiSelect01", method = RequestMethod.POST)
public String registerMultiSelect01(String cars){
logger.info("registerMultiSelect01");
logger.info("cars : " + cars);
return "success";
}
// 7)
// 복수 선택이 가능한 폼 셀렉트 박스 요소값을 문자열 배열 타입 매개변수로 처리한다.
@RequestMapping(value = "/registerMultiSelect02", method = RequestMethod.POST)
public String registerMultiSelect02(String[] carArray){
logger.info("registerMultiSelect02");
if(carArray != null) {
logger.info("carArray.length : " + carArray.length);
for(int i = 0 ; i< carArray.length; i++) {
logger.info("carArray[" + i + "] : " + carArray[i]);
}
}else {
logger.info("carArray == null ");
}
return "success";
}
// 8)
// 복수 선택이 가능한 폼 셀렉트 박스 요소를 가진 리스트 컬렉션 타입 매개변수로 처리한다.
@RequestMapping(value = "/registerMultiSelect03", method = RequestMethod.POST)
public String registerMultiSelect03(ArrayList<String> carList){
logger.info("registerMultiSelect03");
// 리스트로는 셀렉트 박스 값을 가져올 수 없습니다.
// 배열 형태를 사용하거나 객체를 이용하세요
if(carList != null && carList.size() > 0) {
logger.info("carList.size() : " + carList.size());
for(int i = 0 ; i < carList.size(); i++) {
logger.info("carList[" + i + "] : " + carList.get(i));
}
}else {
logger.info("carList == null ");
}
return "success";
}
// 9)
// 폼 체크박스 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.
@RequestMapping(value = "/registerCheckbox01", method = RequestMethod.POST)
public String registerCheckbox01(String hobby){
logger.info("registerCheckbox01");
logger.info("hobby: " + hobby);
return "success";
}
// 10)
// 폼 체크박스 요소값을 문자열 배열 타입 매개변수로 처리한다.
@RequestMapping(value = "/registerCheckbox02", method = RequestMethod.POST)
public String registerCheckbox02(String[] hobbyArray){
logger.info("registerCheckbox02");
if(hobbyArray != null) {
logger.info("hobbyArray.length : " + hobbyArray.length);
for(int i = 0 ; i < hobbyArray.length; i++) {
logger.info("hobbyArray[" + i + "] : " + hobbyArray[i]);
}
}else {
logger.info("hobbyArray == null ");
}
return "success";
}
// 11)
// 폼 체크박스 요소값을 문자열 요소를 가진 리스트 컬렉션 타입 매개변수로 처리한다
@RequestMapping(value = "/registerCheckbox03", method = RequestMethod.POST)
public String registerCheckbox03(List<String> hobbyList){
logger.info("registerCheckbox03");
// 1) ArrayList로 값을 받는 경우
// - 값이 넘어오지 않아 size 0
// 2) List로 값을 받는 경우
// - No primary or default constructor found for interface java.util.List 에러발생
// - Spring에서 List로는 데이터를 받는게 XXXXXXXXX
// - 리스트와 같은 형태의 값을 받으려면 String[] 로 여러 데이터를 받아서 List에 담는 방법이 있습니다.
if(hobbyList != null && hobbyList.size() > 0) {
logger.info("hobbyList.size() : " + hobbyList.size());
for(int i = 0 ; i < hobbyList.size(); i++) {
logger.info("hobbyList[" + i + "] : " + hobbyList.get(i));
}
}else {
logger.info("hobbyList == null ");
}
return "success";
}
// 12)
// 폼 체크박스 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다
@RequestMapping(value = "/registerCheckbox04", method = RequestMethod.POST)
public String registerCheckbox04(String developer){
logger.info("registerCheckbox04");
logger.info("developer : " + developer);
return "success";
}
// 13)
// 폼 체크박스 요소값을 기본 데이터 타입인 불리언 타입 매개변수로 처리한다.
@RequestMapping(value = "/registerCheckbox05", method = RequestMethod.POST)
public String registerCheckbox05(boolean foreigner){
logger.info("registerCheckbox05");
logger.info("foreigner : " + foreigner);
return "success";
}
// 14)
// 폼 체크박스 요소값을 자바빈즈 매개변수로 처리한다.
@RequestMapping(value = "/registerAddress", method = RequestMethod.POST)
public String registerAddress(Address address){
logger.info("registerAddress");
if(address != null){
logger.info("address.getPostCode() : " + address.getPostCode());
logger.info("address.getLocation() : " + address.getLocation());
}else {
logger.info("address == null ");
}
return "success";
}
// 15)
// 폼 체크박스 요소값을 중첩된 자바빈즈 매개변수로 처리한다.
@RequestMapping(value = "/registerUserAddress", method = RequestMethod.POST)
public String registerUserAddress(Member member){
logger.info("registerUserAddress");
Address address = member.getAddress();
if(address != null){
logger.info("address.getPostCode() : " + address.getPostCode());
logger.info("address.getLocation() : " + address.getLocation());
}else {
logger.info("address == null");
}
return "success";
}
// 16)
// 폼 텍스트 필드 요소값을 중첩된 자바빈즈 매개변수로 처리한다
@RequestMapping(value = "/registerUserCardList", method = RequestMethod.POST)
public String registerUserCardList(Member member){
logger.info("registerUserCardList");
List<Card> cardList = member.getCardList();
if(cardList != null){
logger.info("cardList.size() :" + cardList.size());
for(int i = 0; i < cardList.size(); i++) {
Card card = cardList.get(i);
logger.info("card.getNo() :" + card.getNo());
logger.info("card.getValidMonth() :" + card.getValidMonth());
}
}else {
logger.info("cardList == null");
}
return "success";
}
// 17)
// 폼 텍스트 영역 요소값을 기본 데이터 타입인 문자열 타입 매개변수로 처리한다.
@RequestMapping(value = "/registerTextArea", method = RequestMethod.POST)
public String registerTextArea(String introduction){
logger.info("registerTextArea");
logger.info("introduction :" + introduction);
return "success";
}
// 18)
// 폼 텍스트 영역 요소값을 Date 타입 매개변수로 처리한다.
// 정상적인 날짜 데이터를 출력하기 위해서는 날짜 문자열 형식을 'yyyy/MM/dd' 형식으로 지정해야한다.
// 내가 원하는 문자열 형식을 지정하려면 @DateTimeFormat 어노테이션을 이용하여 해당 형식에 맞춰 데이터를 보내면 된다.
@RequestMapping(value = "/registerDate01", method = RequestMethod.POST)
// public String registerDate01(Date dateOfBirth){
public String registerDate01(@DateTimeFormat(pattern = "yyyyMMdd") Date dateOfBirth){
logger.info("registerDate01");
if(dateOfBirth != null) {
logger.info("dateOfBirth : " + dateOfBirth);
} else {
logger.info("dateOfBirth == null ");
}
return "success";
}