티스토리 뷰
반응형
오늘의 미션, 만약 view 단에서 보여줘야 하는 데이터가 없으면(아마도 DB에서 삭제된 경우) 프론트단에 데이터를 보여주는 div 태그를 없애야 한다.
아 그야 식은 죽 먹기죠. data가 null인지 아닌지 판단해서 null이 아닐 때만 보여주면 되는거 아니겠습니까 아래 코드처럼요.
<div th:if = "${examData != null}"> ... <div>
그런데 문제가 하나 더 있네요. 만약 null 값이 아니라 빈 문자열이 들어온다면 어떻게 해야 하죠? 그럼 코드가 이런식이 되어야 할 것 같은데...
<div th:if = "${examData != ''}"> ... <div>
데이터가 null 일수도 있고 빈 문자열일 수도 있을 때도 있다면 조건문을 두 개 써야 겠군요. 그런데 그냥 컨트롤러에서 처리해서 넘겨준다면 조금 더 편할 것 같습니다.
if (examData.isEmpty()) {
model.addAttribute("examData", "nothing");
} else {
model.addAttribute("examData", examData);
}
그리고 뷰에서는
<div th:if="${examData != 'nothing'}"> ... </div>
이렇게 받으면 되는데 솔직히 좀 마음에 들지는 않네요. 오히려 자바 코드가 다섯줄이나 늘어나 버렸으니, 사실 thymeleaf를 사용하고 있다면 아주 간단하게 해결할 수 있습니다.
<div th:if="${not #strings.isEmpty(examData)}"> ... </div>
isEmpty()를 사용하면 들어온 값이 null 이거나 빈 문자열일 때 true를 반환합니다. 체크를 하기 전에 trim() 메소드를 적용하기 때문에 빈 줄이나 공백도 같이 걸러진다는 것을 유의 해야 합니다.
#strings utility 에는 String 객체를 위한 method드 들이 존재 합니다. 다른 메소드 들은 여기서 확인할 수 있습니다.
반응형
'framework > Spring' 카테고리의 다른 글
Thymeleaf 표현식 안에 표현식 쓰기 (0) | 2019.05.24 |
---|---|
Thymeleaf 간단 소개 (0) | 2019.05.20 |
Thymeleaf 날짜 포맷 지정해서 출력하기 (0) | 2019.05.13 |
Thymeleaf 에서 Enum 쓰기 (0) | 2019.05.10 |
Spring in Action 요약 1. 스프링 속으로 (0) | 2019.04.29 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 클린코드
- 자바스크립트개론
- CONVENTIONS
- html
- 마르코프
- 유지보수
- 동적계획법
- 문장 생성기
- DP
- REST API
- was
- RESTful
- Markov
- restful api
- 야근
- 몰라서망신
- 코딩의 기술
- markov chain
- 전략패턴
- GROUP BY
- 마르코프 연쇄
- 자바스크립트 개론
- Count
- Warning
- java
- 경고
- 디자인패턴
- Spring in Action
- 크롬
- 로그
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함