Notice
Recent Posts
Recent Comments
관리 메뉴

Developer Gonie

[9주차] 21. 여러개 선택가능한 선택박스의 데이터를 DB에 저장하는 방법 및 데이터 타입*** 본문

K-DigitalTraining 강의/8. JSP

[9주차] 21. 여러개 선택가능한 선택박스의 데이터를 DB에 저장하는 방법 및 데이터 타입***

이대곤 2022. 7. 14. 20:03

DB에서 해당 데이터를 저장하기 위한 타입

사용자가 선택한 것들을 문자열 한줄로 이어붙여 저장할 예정이라서 varchar2 타입으로 저장한다.(이건 무조건 고정)
이어붙여 저장할 땐 ',' 혹은 ' ' 을 단어 사이사이 이어붙여 구분자를 넣은상태로 저장한다.

데이터베이스에서 해당 컬럼의 타입

Bean클래스에서 해당 데이터를 담기위한 타입

둘 다 사용 가능하고 어느 방식이든지 큰 불편함은 못 느꼈다.

두 방식으로 각각 모두 해보니 뭐가 더 쉽고, 어렵고의 차이는 없었다.

다만, 방식에 따라 고려해야할 것을 바로 알고 사용하면 될거같다.

 

1) 방법1, String 타입으로 하는 것(개인적으로 배열을 덜 다뤄서 쉬운편인거 같음)

- <jsp:setProperty property="*" name="bean"> 을 호출했을 때
  체크박스로 여러개 선택한 값 중 맨 앞의 딱 1개만 bean 객체의 관련 변수에 바로 담긴다. 

  따라서 <jsp:setProperty property="*" name="bean"> 호출시 선택된 체크박스의 값 모두를 가져오기 위해
  getParameterValues()를 한번 더
 호출해서 사용해야함.

- updateProc.jsp, insertProc.jsp 에서 정도만 파싱작업이 요구됨

- 문자열.contains(문자열원소) 를 사용할 일이 있을 것임

 

2) 방법2, String[ ]타입으로 하는 것

- <jsp:setProperty property="*" name="bean"> 을 호출했을 때
  체크박스로 여러개 선택한 값이 자동으로 bean 객체의 관련 변수에 바로 담긴다. 

- Arrays.asList.(문자열 배열).indexOf 를 사용할 일이 있을 것임

public class StudentBean {
	private String hobby; 
 	...   
}
public class StudentBean {
	private String[] hobby; 
 	...   
}
Comments