2017년 5월 25일 목요일

JSTL 동적변수 사용


데이터 유형
  1. ${data.name0},${data.name1}...
  2. ${data0.name},${data1.name}...
위의 두가지 경우를 나누어서 예를 들었다.

  • 데이터 유형이 뒤쪽(?) 유동적(${data.name0},${data.name1}...) 인 경우
Java(Controller)에서 JSP로 넘겨줄 데이터 생성.
Map data = new HashMap();
for( int i = 0; i < 5; i ++ ){
  data.put("name"+i, "test"+i);
}
request.setAttribute("data", data);
JSP에서 처리
<c:forEach var="i" begin="0" end="4" >
<c:set var="b" value="name${i}" />
${data[b]}
</c:forEach>
결과
test0 test1 test2 test3 test4

  • 데이터 유형이 앞쪽(?) 유동적(${data0.name},${data1.name}...) 인 경우
Java(Controller)에서 JSP로 넘겨줄 데이터 생성.
for( int i = 0; i < 5; i ++ ){
  Map data = new HashMap();
  data.put("name", "test"+i);
  request.setAttribute("data"+i, data);
}
JSP에서 처리
<c:forEach var="i" begin="0" end="4" >
<c:set var="a" value="data${i}" />
${requestScope[a].name}
</c:forEach>
결과
test0 test1 test2 test3 test4


댓글 없음:

댓글 쓰기

스프링 빈 등록 순서 오류 시 @PostConstruct 사용

  스프링 xml 설정에서 등록할 빈을 명시적으로 지정한 것과 <context:component-scan>와 혼용해서 사용한  경우 빈등록 순서 오류가 발생 할 수도 있습니다. 여러가지 방법이 있지만, 그 중에서 @PostConstruct ...