배열은 만날때마다 새롭다.
프로젝트 할 때마다 새롭게 만나는 배열들은 마치 수수께끼랄까.
수수께끼를 풀면 경험치를 보상으로 받는 것 같다.
근데 나는 레벨도 낮은데 레벨업이 왜이리 더딘것인가!
프로젝트 진행 중 session을 배열로 계속해서 추가해줘야 하는 일이 생겼다.
최근 본 목록을 추가하는 작업인데, 처음에는 테이블을 따로 만들어 거기에 데이터를 insert 하는 방식을 사용하려 했으나,
팀원들이 session에 배열로 추가할 수 있는 방법이 있다고 하여 그걸로 채택하고 열심히 만들어보았다.
ArrayList<String> productsessionaddr = (ArrayList)session.getAttribute("productsessionaddr");
String addr = request.getParameter("p_id");
if(productsessionaddr==null) {
productsessionaddr = new ArrayList<String>();
session.setAttribute("productsessionaddr", productsessionaddr);
}
productsessionaddr.add(addr);
일단 전의 페이지에서 GET 방식으로 p_id를 가져왔다.
처음에 if 조건문을 주지 않았더니 콘솔에 session을 찍어봤을 때 한 개의 값만 들어갔다.
코드는 맞게 짠 것 같은데 계속 그런 오류가 생겨 고민을 많이 해본 결과,
if(productsessionaddr==null) 이라는 조건문을 꼭 써주고,
해당 이름의 세션값이 null일 경우에만 new 하여 다시 만들어주게 설정해야 한다.
null이 아닐 경우에는 add()로 값을 추가해주어 계속해서 배열 값이 추가될 수 있게 한다.
하루치 고민이었는데 역시 해결하고 나니 별 거 아니다.
new로 생성하는 것에 대해 아무생각 없었다는 것이 들통났다. (나에게)
모든 코드는 그냥 장식이 아니라고...!!
'TIL' 카테고리의 다른 글
[AWS] CodeCommit 터미널 사용하여 git clone 하기 (0) | 2021.03.02 |
---|---|
[Node.js] Node.js란? (0) | 2021.03.01 |
[Spring] PropertyNotFoundException : 타입 [java.lang.Integer]에서 프로퍼티 을(를) 찾을 수 없습니다 - JSTL (0) | 2021.01.13 |
[Spring] parameter 두개 이상 mapper로 넘겨주기 (0) | 2021.01.12 |
[JavaScript] append에서 onclick 변수 전달 하기 (0) | 2021.01.11 |