[SPRING] Thymeleaf / Spring MVC - Link 표현식에서 변수 / 표현식을 중첩하는 방법은 무엇입니까?
SPRINGThymeleaf / Spring MVC - Link 표현식에서 변수 / 표현식을 중첩하는 방법은 무엇입니까?
예를 들어, Spring의 my controller 메소드는 다음과 같은 작업을 수행합니다.
model.addAttribute("view_name", "foobar")
그리고 Thymeleaf 템플릿에서이 작업을 수행하려고합니다.
<link th:href="@{/resources/libs/css/${view_name}.css}" rel="stylesheet" />
그러나 렌더링 된 결과는 다음과 같습니다.
<link href="/app/resources/libs/css/${view_name}.css" rel="stylesheet" />
그래서 내가 기대하는 $ {view_name}을 대체하지 않습니다.
내가 뭘 잘못하고 있죠? 일반적으로 Thymeleaf에서는 어떻게 표현을 중첩합니까?
해결법
-
==============================
1.표현식 (예 : $ {...}, # {...}, | ... |, __...__, 'quoted string'...)으로 URL 재 작성을 시작하지 않으므로, Thymeleaf 전체 표현식을 String으로 간주하고 내부 표현식을 실행하지 않습니다.
표현식 (예 : $ {...}, # {...}, | ... |, __...__, 'quoted string'...)으로 URL 재 작성을 시작하지 않으므로, Thymeleaf 전체 표현식을 String으로 간주하고 내부 표현식을 실행하지 않습니다.
다음 예제는 표현식으로 시작하기 때문에 작동합니다.
@{${attribute}}
예를 들어 다음과 같은 가능성이 있습니다.
리터럴 대체 (기본 메소드)
파이프 라인 구문 (|)을 사용하여 문자열에서 리터럴 대체를 수행 할 수 있습니다.
<link th:href="@{|/resources/libs/css/${view_name}.css|}" rel="stylesheet" />
문자열 연결
<link th:href="@{'/resources/libs/css/' + ${view_name} + '.css'}" rel="stylesheet" />
from https://stackoverflow.com/questions/22059314/thymeleaf-spring-mvc-how-do-you-nest-variables-expressions-in-a-link-expressio by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring @ Transactional 및 JDBC autoCommit (0) | 2019.02.14 |
---|---|
[SPRING] Spring @autowired는 non-singleton 컨테이너가 아닌가요? (0) | 2019.02.14 |
[SPRING] Spring MVC는 컨트롤러간에 같은 객체를 전달한다. (0) | 2019.02.14 |
[SPRING] 스프링 데이터 JPA로 version 속성이 설정되지 않은 이유는 무엇입니까? (0) | 2019.02.14 |
[SPRING] HttpStatus 상태 코드를 기반으로 Spring 재시도에서 RetryPolicy를 설정할 수 있습니까? (0) | 2019.02.14 |