반응형
안에 다중 조건을 가지는 방법: 타임리프를 사용하여 태그를 지정하는 경우
나는 백합잎을 사용하여 세가지 가능한 색상으로 렌더링 할 텍스트가 있습니다.
그래서 지금까지 값을 테스트하기 위해 만든 코드는 다음과 같습니다.
th:if="${evaluation} > 50"
th:if="${evaluation} < 30"
그리고 그것도 잘 작동합니다.
그러나 세 번째 검정은 두 값 사이의 값에 대한 것입니다.그래서 노력했습니다.
th:if="(${evaluation} < 49) ∧ (${evaluation} > 29)"
작동하지 않습니다. 구문 분석 중 오류가 발생했습니다.
org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "(${evaluation} < 49) ∧ (${evaluation} > 29)" (/property.html:41)
물론 이 줄들은 처음 두 줄이 제대로 작동하기 때문에 태그 사이에 있습니다.
피연산자와 피연산자가 정확하지 않을 수도 있지만, 타임리프에 대한 문서는 그러한 피연산자에 대해 실제로 명시적이지 않습니다.
모든 아이디어 환영합니다!
업데이트 : 타임리프 포럼에서 답변을 받았습니다.방법은 다음과 같습니다.
th:if="${evaluation < 49 and evaluation > 29}"
문제 해결!
나는 타임리프 포럼에서 답을 얻었습니다.그 방법은 다음과 같습니다.
th:if="${evaluation < 49 and evaluation > 29}"
문제 해결!
이것이 제게 효과가 있었던 것입니다.
th:if="${evaluation lt 49 and evaluation gt 29}"
제 생각에는, 평가 코드를 적절한 수업에 작성하는 것이 더 좋고 유지 가능한 해결책이 될 수 있을 것 같습니다.
class Evaluator{
private int value;
....
public boolean isBounded() {
return value < 49 && value > 29;
}
그런 다음 타임리프에서 함수를 호출합니다.
<p th:if="${evaluator.isBounded()} ...
몇 가지 이점:
- 클리너 템플릿.
- 자바 코드로 제어합니다.
- 고립.템플릿을 변경하지 않고도 더 복잡한 평가를 작성할 수 있습니다.
도움이 되었으면 좋겠습니다.
저는 다양한 조건을 갖추기 위해 이 일을 했습니다.th:if
백합나무 잎으로
<div
th:if="${object.getStatus()} == 'active' and ${object.getActiveDate()}"
th:text="${#dates.format(object.getActiveDate(), 'yyyy-MM-dd')}"
</div>
조건 사이에 와 연산자를 추가했습니다.또는 필요한 경우 추가할 수도 있습니다.
언급URL : https://stackoverflow.com/questions/16018577/how-to-have-multiple-condition-in-an-thif-tag-using-thymeleaf
반응형
'source' 카테고리의 다른 글
Oracle jdbc 클라이언트의 기본 nls_date_format을 변경하는 방법 (0) | 2023.09.11 |
---|---|
SVG에 SVG 내장? (0) | 2023.09.11 |
"ArrayAdapter에 리소스 ID가 TextView" XML 문제가 필요합니다. (0) | 2023.09.11 |
파이썬 내부 수업의 목적은 무엇입니까? (0) | 2023.09.11 |
셸에서 XPath 한 줄을 실행하는 방법? (0) | 2023.09.11 |