반응형

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

+ Recent posts