전체 글 793

9.forEach-varStatus 속성의 사용

forEach태그에는 var , items , begin , end , step 의 속성이 있다. status객체의 이름을 status로 잡고 getter 프로퍼티로 끌어다쓰는 듯 하다. 즉 상태를 알려주는 객체인듯 하다. ${status.current} 현재 for문의 해당하는 번호 ${status.index} 해당 인덱스넘버 ${status.count} 출력 카운트 ${status.first} 첫 번째인지 여부 >>>> c:if 의 test 속성에 쓰이는 듯함 ${status.last} 마지막인지 여부 >>>> c:if 의 test 속성에 쓰이는 듯함 ${status.begin} for문의 시작 번호 ${status.end} for문의 끝 번호 ${status.step} for문의 증가값 index ..

EL 2020.07.15

8.forEach태그의 Map 컬렉션 추출

var 속성 즉 변수명은 entry 이며 , items 속성은 ${myMap}이다. request영역에서 맞는 키값을 찾고 Object를 Map으로 변환시켜주는 듯 하다. 그래야만 아래의 출력이 이해 될 것 같다. Map객체는 entrySet으로 바꿀 수 있다는 사실을 기억하고 있다. Set타입이겠구나.. ${entry.key}, ${entry.value} 그렇다면 이코드는 어떻게 되는 것인지 코딩을 해보면..이거 같다. 즉 Map컬렉션을 forEach문의 items 속성에 EL로 등록하고 var로 지정한다는 것은 Entry를 가져온다는 뜻같다. 그러므로 EL 에서는 ${var.key} ${var.value} 인 것 같다.

EL 2020.07.15

7.JSTL-forEach의 태그와 기본속성.

jstl에 대한 의존이 먼저 필요하다는 사실을 기억한다. 로 사용된다. 해당 태그의 속성 목록 var=변수명지정 items=forEach문에 사용할 객체를 EL(${}})로 지정 varStatus=변수상태에대한 것으로 지정해놓고 . 를 통해 index last first등을 사용 begin=시작할 인덱스넘버 end=끝나는 인덱스넘버 step=반복시 증가수치 ${i } var로 변수명을 지정하고 인덱스넘버는 1~3까지 움직인다. EL로 var명을 지정하여 출력 배열이나 컬렉션 객체들을 하나씩 꺼내 쓴다는 점으로 보아서 자바의 forEach문과 흡사하다고 생각한다. String 배열의 사용이다. jsp 내부에서 스크립틀릿으로 정의한 후 (JSP도 하나의 서블릿이며 Servlet 컨트롤러 사용시 Servlet..

EL 2020.07.15

Java를 시작한지 114일차, 블로그를 만든 건 110일차.

JSP 공부를 하는데 EL 을 배우기 시작했다. 스크립트 언어나 Map을 사용하는게 자바스크립트를 다시 만나는 듯 했다. EL이 타입변환을 해주는 점, 프로퍼티를 이용해서 값을 가져온다는 것들이 Spring 에서 사용하는 커멘트객체와 자꾸 맞닿은 듯 해서, value속성에 객체의 프로퍼티메서드와 연동하는 것을 보면서 고마웠다고 해야하나...이런 말은 좀 이상한데..고마웠다. 내가 스프링을 배우면서 어려워하는 것을..이해해주게 해줘서, 고마웠던 것 같다. 어찌되었든, 많이많이 고마웠다 :)

생각모음 2020.07.14

<%@ include %>

저작권 처럼 공통된 내용의 사용에 쓰인다. 지정하고 싶은 위치에 로 지정한다. springframework의 ResourceBundleMessageSource랑 엮어쓰면 다국어와 공통 내용 모듈화가 될 것 같기도 하고 둘이 중복이 날 것 같기도 하다. jsp 페이지를 모듈화 하는 액션태그는 페이지의 모듈화에 좋을 듯 싶다. web.xml /WEB-INF/views/*등 포함시키고 싶은 페이지들의 경로 포함시키고 싶은 페이지들의 경로 및 파일명 포함시키고 싶은 페이지들의 경로 및 파일명 web.xml에 해당 설정을 잡아두면 경로에 있는 jsp페이지의 앞 뒤 에 해당 파일이 include된다. prelude 맨 위, coda는 맨 뒤다. : JSP 프로퍼티를 포함한다. : 적용한 URL 패턴

JSP &amp; Servlet 2020.07.14

Test 과정

줏어들은 TDA.. 는 Test Driven Access 라는데, 단계를 거칠때마다 Test를 해봐야한다는 의미같다. 처음 데이터베이스 와의 퍼시스턴스 레이어 구축과정에서 MySQL(데이터베이스) - Mybatis(퍼시스턴스 프레임워크) -VO(벨류오브젝트) -mybatis-config.xml,*Mapper.xml 로 이루어지는 DB 커넥션과 Mybatis 구동상태를 먼저 JUnit으로 @Test해본 후 다음과정으로 넘어가야한다고 한다. 구동이 정상적이라면 DAO(데이터엑세스오브젝트) - Service(서비스로직, 서비스레이어. DAO에 의존한다.) 과정을 구축한 후 또 다시 JUnit으로 @Test에 들어간다고 한다. DAO에서의 데이터 전송과 Service 로직에서의 데이터 맵핑이 정상적인지를 보는 ..

springframework 2020.07.14

6.JSP 에서 static 메서드 호출

자주 보게되는 타입은 String 이고 이를 조작하는 법이 능숙할 수록 유리하다는 것을 많이 느낀다. 아파치제단에서 관리하는 JSTL 태그 라이브러리에는 내장된 static 메서드가 있어 이를 EL안에 사용할 수 있다. 일단 사용법은 ${메서드명(매개변수)} 인데 매개변수를 조심해야할게, 이게 Property 명이다. \${MyUtil.length(myList)} : ${MyUtil.length(myList)} ${fn:length(myList) } 내부적으로 Static메서드를 만들어 사용하기 위해서는 클래스에서 정의한 뒤 JSP에서 임포트해야한다고 한다. ${}안에 메서드 명으로 호출한다. package chap11; import java.util.Collection; public class MyUt..

EL 2020.07.14

5.EL에서의 논리연산자와 비교연산자

EL은 프로그래밍 언어와 친숙하지않은 사람을 위한 언어라고한다. 자바의 && 연산자는 EL에서 && and 둘 다 허용된다. 자바의 || 연산자는 EL에서 || or 둘 다 허용된다. 자바의 ! 연산자는 EL에서 ! not 둘 다 허용된다. 표현식의 프로퍼티가 하나라도 숫자 타입이라면 산술연산시 숫자로 변환하여 계산한다. 둘다 String 타입이라면 글자 순번으로 비교하는 듯 비교 연산자 num1 : num2: 크다 greater than ${param.num1 > param.num2} ${param.num1 gt param.num2} \${"10" > "7" } : ${"10" >"7" } \${"10" + "7" } : ${"10" + "7" } \${"10" > 7 } : ${"10" > 7 } \..

EL 2020.07.14

3.파라미터, 헤더, 쿠키, 전역 변수

Param >> 싱글 파라미터 도출 ${param.가져올파라미터Key} 로 표현하며 ParamValues >> 배열의 파라미터 도출 ${paramValues.가져올파라미터Key[인덱스]} 로 값을 표현한다. 즉, getParameter("Key") / getParamter("Key") -> [인덱스] 가 된다. Param은 싱글 파라미터를 가져온다. param.name : >>>>>>>>>>>>> ${param.name } ParamValues 는 배열의 파라미터를 가져온다. ${paramValues.name[0] } , ${paramValues.name[1] } Header 정보 도출 header >> 헤더의 전체 내용 도출 ${header}로 표현되며 JSON 형태로 나온다. header['Key']..

EL 2020.07.14