+) 22. 07. 28. μΆκ°
μΉμ
0. μκ° μκ° μλ£!!
μΉμ
1. νμ리ν - κΈ°λ³Έ κΈ°λ₯ μκ° μλ£!!
μλ² μ¬μ΄λ HTML λ λλ§ (SSR)
νμ리νλ λ°±μλ μλ²μμ HTMLμ λμ μΌλ‘ λ λλ§ νλ μ©λλ‘ μ¬μ©λλ€.
λ΄μΆλ΄ ν
νλ¦Ώ
νμ리νλ‘ μμ±ν νμΌμ HTMLμ μ μ§νκΈ° λλ¬Έμ μΉ λΈλΌμ°μ μμ νμΌμ μ§μ μ΄μ΄λ λ΄μ©μ νμΈν μ μκ³ , μλ²λ₯Ό ν΅ν΄ λ·° ν
νλ¦Ώμ κ±°μΉλ©΄ λμ μΌλ‘ λ³κ²½λ κ²°κ³Όλ₯Ό νμΈν μ μλ€.
μ€νλ§ ν΅ν© μ§μ
νμ리νλ μ€νλ§κ³Ό μμ°μ€λ½κ² ν΅ν©λκ³ , μ€νλ§μ λ€μν κΈ°λ₯μ νΈλ¦¬νκ² μ¬μ©ν μ μκ² μ§μνλ€.
'<'λ₯Ό νκ·Έμ μμμ΄ μλλΌ λ¬Έμλ‘ νννλ κ²μ HTML μν°ν°λΌ νλ€.
μ΄λ κ² HTMLμμ μ¬μ©νλ νΉμ λ¬Έμλ₯Ό HTML μν°ν°λ‘ λ³κ²½νλ κ²μ μ΄μ€μΌμ΄ν(escape)λΌ νλ€. νμ리νκ° μ 곡νλ th:text
, [[...]]
λ κΈ°λ³Έμ μΌλ‘ μ΄μ€μΌμ΄νλ₯Ό μ 곡νλ€.
th:*
μμ±μ μ§μ νλ©΄ νμ리νλ κΈ°μ‘΄ μμ±μ th:*
λ‘ μ§μ ν μμ±μΌλ‘ λ체νλ€. κΈ°μ‘΄ μμ±μ΄ μλ€λ©΄ μλ‘ λ§λ λ€.
<input type="text" name="mock" th:name="userA" />
<input type="text" name="userA" />
<tr th:each="user : ${users}">
λ°λ³΅ μ μ€λ₯Έμͺ½ 컬λ μ
${users}
μ κ°μ νλμ© κΊΌλ΄μ μΌμͺ½ λ³μ user
μ λ΄μμ νκ·Έλ₯Ό λ°λ³΅ μ€ννλ€.
νμ리νλ ν΄λΉ μ‘°κ±΄μ΄ λ§μ§ μμΌλ©΄ νκ·Έ μ체λ₯Ό λ λλ§νμ§ μλλ€.
λ§μ½ λ€μ μ‘°κ±΄μ΄ falseμΈ κ²½μ° <span>...<span> λΆλΆ μμ²΄κ° λ λλ§ λμ§ μκ³ μ¬λΌμ§λ€.
<span th:text="'λ―Έμ±λ
μ'" th:if="${user.age lt 20}"></span>
νμ€ HTML μ£Όμ
μλ° μ€ν¬λ¦½νΈμ νμ€ HTML μ£Όμμ νμ리νκ° λ λλ§ νμ§ μκ³ κ·Έλλ‘ λ¨κ²¨λλ€.
νμ리ν νμ μ£Όμ
λ λλ§μμ μ£Όμ λΆλΆμ μ κ±°νλ€.
νμ리ν νλ‘ν νμ
μ£Όμ
HTML νμΌμ κ·Έλλ‘ μ΄μ΄λ³΄λ©΄ μ£Όμμ²λ¦¬κ° λμ§λ§, νμ리νλ₯Ό λ λλ§ ν κ²½μ°μλ§ λ³΄μ΄λ κΈ°λ₯μ΄λ€.
+) 22. 07. 27. μΆκ°
SELECT B.ANIMAL_ID, B.NAME FROM ANIMAL_INS A
RIGHT OUTER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.ANIMAL_ID IS NULL
SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_INS A
LEFT OUTER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.DATETIME > B.DATETIME
ORDER BY A.DATETIME
SELECT A.NAME, A.DATETIME FROM ANIMAL_INS A
LEFT OUTER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY DATETIME LIMIT 3
SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME FROM ANIMAL_INS A
INNER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.SEX_UPON_INTAKE != B.SEX_UPON_OUTCOME