JSTL - c:forEach문
jsp의 for문이라고 생각하시면 될것같습니다.
물론 조금다릅니다.
주로 자바에서 모델로 Attribute에 담아서 JSP에 뿌려줄때 사용합니다.
forEach를 사용하는 것에대해 작성해보겠습니다.
JSP - HTML
<c:forEach var="i" begin="1" end="10" step="1">
${i}
</c:forEach>
일단 바로 for문처럼 숫자의 반복을 사용하려면 아래와 같이
begin = 시작숫자
end = 마지막숫자
step = 증가할 수
이렇게 작성하시면 1부터 10까지 나올겁니다.
다음은 JAVA에서 mode에 담긴 값을 가져오는 예제입니다.
JAVA
@RequestMapping(value="/selectGateEntrnSttstList")
public String selectUserList (@ModelAttribute("paramVO") UserVO paramVO, ModelMap model) throws Exception {
List<EgovMap> userList = userService.selectUserList(paramVO);
// paramVO에 담긴 파라메터로 selectUserList에서 검색한쿼리의 데이터를 List에 담아줍니다. 저는 egovMap를 사용했습니다.
model.addAttribute("resultList", userList ); // 리스트에 담긴 userList를 모델에 resultList라는 이름으로 담아줍니다.
return "common/user/userList"; // JSP경로
}
JSP - HTML ( userList.jsp )
<-- 위에서 모델로 담아준 result를 가져오겠습니다. 가져올때 item="${resultList}" 로가져오면됩니다. -->
<-- var로 리스트명을 변경해준뒤 변경 안해줘도 됩니다. -->
<-- 위에서 result로 변경해줘서 ${result.컬럼}으로 가져왔습니다. 변경안해줬다면 ${resultList.userId}가 되겠습니다. -->
<c:forEach var="result" items="${resultList}" varStatus="status">
${result.userId}
</c:forEach>
JSTL - c:if문
if문과 상당히 비슷하지만 else문이 없어서 그것에 대체는 choose문을 사용하면됩니다.
아래와같이 작성해서 사용하면 됩니다.
<c:if test="조건식"></c:if>
주의하실점은 ${result.userId}와 ${result.adminId} 두개를 비교하고싶다 그러면
${result.userId} == ${result.adminId} 이게아니고
${result.userId == result.adminId} 이렇게 작성해주시면됩니다.
JSTL - c:choose문
jstl에는 if문에 else문이 없어서 당황하셨을텐데 choose문을 사용하면됩니다.
choose문은 아래와 같이 사용하면됩니다.
<c:choose>
<when test="조건식">
</when>
<otherwise>
</otherwise>
</c:choose>
when이 if문이고 otherwise가 else라고 생각하시면 됩니다.
if문이 많이 필요하시면 when을 여러개 쓰시면 됩니다.
test="조건식"과 test!="조건식"을 활용한다면 어떤것도 다사용할수 있을것 같습니다.
'IT > JSP' 카테고리의 다른 글
JSP - JSTL 데이터 포맷 (0) | 2017.11.15 |
---|---|
JSTL - c:forEach 리스트 합계구하기 (0) | 2017.11.02 |
JSP - 아이디 중복 체크 (0) | 2017.11.01 |
JSP - 페이징처리 (0) | 2017.10.20 |