반응형
Entity 에서는 아래와 같이 정의하여, String으로 잘 저장되서 == 으로 비교하면 될줄알았던 나
@Enumerated(EnumType.STRING)
HTML에서 == 으로 비교조건문 확인하니 거짓으로만 나왔다.
참고로, th:switch , th:block 등 사용해봤지만 안됨.
String 말고 숫자로 DB 테이블 칼럼을 변경해야하나 고민하다가, 문자열 비교를 못하는게 문제같아서 방법을 찾았다.
해결
<tbody>
<tr th:each="book : ${bookList}" class="table-point">
.
.
.
<td th:if="${#strings.equals(book.borrow?.status,'APPLY')}">도서신청중</td>
<!-- 시도한 내용-->
<!-- <td th:text="${book.borrow?.status eq 'APPLY'} ? ${book.borrow.status} : ''"></td>-->
<!-- <td th:text="${#strings.equals( ${book.borrow?.status},'APPLY')}? ${book.borrow.status} : ''"></td>-->
</tr>
</tbody>
borrow의 status가 APPLY일 경우, 도서신청중 이라고 표출하는 코드
- book.borrow? 는 borrow가 null일 경우, 코드를 수행하지 않도록 하기 위함 (NULL 오류 발생X)
- equals가 만족할경우 td 태그가 활성화됨→ book.borrow.status == 'APPLY'
- 시도한 내용은 잘못된 코드라고 보면 됨....
참고
1. 문자열 조건문 비교
book의 title이 '홍길동전' 일 경우,
<td th:if="${#strings.equals(book.title, '홍길동전')}"> (내용) </td>
2. 문자열 비교하여 th:text 값 넣기
book의 title이 '홍길동전' 일 경우, 저자(author) 를 표시하기
- if가 참일경우, td 태그가 활성화됨
<td th:if="${#strings.equals(book.title,'홍길동전')}" th:text="${book.author}"></td>
728x90
반응형
'개발아닌개발 > springboot' 카테고리의 다른 글
간단하게 @Valid 예외 처리 exception handler 만들기 (0) | 2023.08.09 |
---|---|
[HTML/js + java] POST method 컨트롤러 (회원가입,로그인 등) (0) | 2023.08.07 |
[오류] html에서 thymeleaf sec:authorize 동작 안됨 (0) | 2023.06.22 |
[오류] Maria DB 한글 insert 안됨 인코딩변경방법(UTF-8) : Incorrect string value: '\xEC\x95\x88\x85\x95....' for column ~ (0) | 2023.05.24 |
라디오 설정값 가져와서 Class 속성 추가하기 (0) | 2022.01.12 |
댓글