Servlet일반상품3 : 상품 상세페이지, c:forTokens
GoodsFrontController.java의 doProcess()의 주소비교 후 처리부분에 코드 추가
| 1 | //상품 상세페이지 | 
GoodsDetailAction.java 생성
- GoodsDAO객체 생성 후 getGoodsDetail()생성시 아래 코드를 한줄로 나타낼 수 있다.
- 변수를 굳이 사용하지않는다면 한 줄코딩하는 것이 좋다.
| 1 | //두줄 | 
- 전체코드
| 1 | public class GoodsDetailAction implements Action { | 
AdminGoodsDAO.java 생성 후 getGoodsDetail()메서드 코드 추가
| 1 | //상품 상세정보 가져오기 | 
goods_detail.jsp 생성
- DB의 정보를 request에 저장했고 그걸 불러와서 select항목에 넣을 수 있다. 이때 두가지 방법이 있다.
- <c:forEach>와 <c:forTokens>의 차이점은 <c:forTokens>의 경우 문자열을 분리자를 사용해서 분리해서 출력가능
| 1 | <c:forTokens var="name" items="고양이,강아지,소" delims=","> | 
첫번째 방법 : forTokens +스크립틀릿사용
| 1 | <select> | 
두번째 방법 : forTokens + EL태그사용
| 1 | <select> | 
javascript 코드 한줄로 불러오기
- a태그를 이용하면 href로 항상 페이지이동이 된다. 이를 막기 위해서는 2가지 방법이 있다.- e.preventDefault();
- javascript:isBasket();
 
| 1 | //원치않는 href="#"가 진행되어 페이지이동이 일어난다(여기선 새로고침) | 
구매수량이 재고보다 많은 경우 제어
- 자바표현식 : DB정보를 꺼내오기 불가능. 페이지 구성상 제일 마지막에 호출되므로 자바표현식으로 사용불가능
- EL표현식 : DB정보를 꺼내오기 가능. - 자바스크립트태그안에서는 EL표현식을 문자형태(‘’)로 사용하는 것이 일반적.
- 문자형태로 쓰지않아도 객체로 처리되기때문에 동일하게 처리되나 문법상 문자형태로 (‘’)써줘야 함.
 
| 1 | // 구매 수량 | 
전체코드
| 1 | <% | 
![[OS/WINDOW]배포후 서버재시작에 batch와 윈도우 스케줄러 활용하기](https://cdn.pixabay.com/photo/2012/03/04/00/50/board-22098_960_720.jpg)
![[블로그]헥소테마에서 댓글기능 facebook에서 utterances로 변경하기](https://miro.medium.com/max/1600/1*aOv6h3h_v9PQWa03zGACnw.png)