@{...}
<li><a th:href="@{/hello}">1. 기본 url 사용</li> // /hello <li><a th:href="@{/hello(param1=${param1}, param2=${param2})}">2. QueryParameter</li> <li> // /hello?param1=data1¶m2=data2 <a th:href="@{/hello/{param1}/{param2}(param1=${param1}, param2=${param2})}">3. PathVariable </li> // /basic/hello/data1/data2 <li><a th:href="@{/hello/{param1}(param1=${param1}, param2=${param2})}">2 + 3</li> // /hello/data1?param2=data2
🔸 리터럴 : 소스 코드상에서 고정된 값
String str = "Hello"; // "Hello" : 문자 리터럴 int i = 10 + 20; // 10, 20은 숫자 리터럴
🔸 타임리프에서 문자리터럴은 항상 ''로 감싸야한다.
<span th:text="'Hello'">
🔸 항상 ''로 감싸서 사용하기는 너무 귀찮다 ➡️ 공백없이 쭉 쓴다면 하나의 의미있는 토큰으로 보고 ''사용을 생략할 수 있다.
<span th:text="hello world!"></span> // 오류 <span th:text="'hello world!'"></span>
🔸 리터럴 대체 : '|...|'
<span th:text="|hello ${data}|">
<li>'hello' + ' world'<span th:text="'hello' + ' world'"></span></li> // hello world <li>'hello world!' = <span th:text="'hello world!'"></span></li> // hello world! <li>'hello ' + ${data} = <span th:text="'hello ' + ${data}"></span></li> // hello Spring <li>|hello ${data}| = <span th:text="|hello ${data}|"></span></li> hello Spring