thymeleaf 문법

======================================================================
thymeleaf 공식 API 보기 https://www.thymeleaf.org
======================================================================

Thymeleaf의 String Api에 에 대하여


String 객체의 유틸리티 메서드는  #strings다.  
ex) ${#strings.method(str)}

문자열 값들을 concatenation시키는 메서드


 ${#strings.concat(values...)}
 ${#strings.concatReplaceNulls(nullValue, values...)}



문자열 비교하는 메서드


 ${#strings.equals(first, second)}
 ${#strings.equalsIgnoreCase(first, second)}



Null-safe 스트링 변환 메서드


배열(array), 리스트(lists), 셋(sets)도 작동한다.

${#strings.toString(obj)}  



값(value)이 존재하는지 검사하는 메서드


스트링이 값이 있는지(혹은 null값인지) 검사한다. 체크하기 전에 trim()메서드를 사용해 앞 뒤 공백을 없애주고 실행할 것.
배열(array), 리스트(lists), 셋(sets)도 작동한다.
true or false로 값을 반환한다.

${#strings.isEmpty(name)} 
${#strings.arrayIsEmpty(nameArr)} 
${#strings.listIsEmpty(nameList)} 
${#strings.setIsEmpty(nameSet)}  



디폴트 값 설정


먼저 isEmpty()메서드를 실행하여 문자열을 확인하여 false를 반환하는지 확인할 것.
false가 아닌 true라면 default값으로 지정된 문자열을 반환할 것이다. 배열(array), 리스트(lists), 셋(sets)도 작동한다.

${#strings.defaultString(text,default)}
${#strings.arrayDefaultString(textArr,default)}
${#strings.listDefaultString(textList,default)}
${#strings.setDefaultString(textSet,default)}



문자열 안에 지정된 철자가 있는지 확인하는 메서드


지정된 철자가 문자열에 포함되었는지 확인한다.
배열(array), 리스트(lists), 셋(sets)도 작동.
true or false로 값을 반환한다.

${#strings.contains(name,'cizz3007')}                   
${#strings.containsIgnoreCase(name,'cizz3007')} 



값이 지정된 문자열로 시작(start)하거나 끝(end)나는지 확인하는 메서드


값이 지정된 문자열로 시작(start)하거나 끝(end)나는지 확인한다.
배열(array), 리스트(lists), 셋(sets)도 작동.
true or false로 값을 반환한다.

${#strings.startsWith(name,'chang')}                  
${#strings.endsWith(name, 'hyeon')}     




Substring과 관련된 메서드.


배열(array), 리스트(lists), 셋(sets)도 작동.

${#strings.indexOf(name,frag)}                      
${#strings.substring(name,3,5)}                     
${#strings.substringAfter(name,prefix)}             
${#strings.substringBefore(name,suffix)}            
${#strings.replace(name,'las','ler')}  




apeend, prepend 메서드


prepend는 문자열의 앞에 appends는 문자열의 뒤로 지정된 값을 추가한다.
배열(array), 리스트(lists), 셋(sets)도 작동.

${#strings.prepend(str,prefix)}                     
${#strings.append(str,suffix)}



대,소문자 변경 메서드


배열(array), 리스트(lists), 셋(sets)도 작동.

${#strings.toUpperCase(name)}                       
${#strings.toLowerCase(name)}



split, join 메서드


${#strings.arrayJoin(namesArray,',')}
${#strings.listJoin(namesList,',')}
${#strings.setJoin(namesSet,',')}
${#strings.arraySplit(namesStr,',')}                // returns String[]
${#strings.listSplit(namesStr,',')}                 // returns List<String>
${#strings.setSplit(namesStr,',')}                  // returns Set<String>



trim 메서드


문자열의 공백을 제거합니다.
배열(array), 리스트(lists), 셋(sets)도 작동.

${#strings.trim(str)}                             



length 메서드


문자열의 길이값을 반환한다.
배열(array), 리스트(lists), 셋(sets)도 작동.

${#strings.length(str)}                             



abbreviate 메서드


문자열의 한계치를 설정하고, length가 한계치 이상이라면 잘라낸후 …으로 표시해준다.
ex) cizz3007@g…
배열(array), 리스트(lists), 셋(sets)도 작동.

${#strings.abbreviate(str,10)}



첫 글자를 대문자 혹은 소문자로 변경하는 메서드


배열(array), 리스트(lists), 셋(sets)도 작동.

${#strings.capitalize(str)}                         
${#strings.unCapitalize(str)}   



문장에서 각 단어의 첫 글자를 대문자 혹은 소문자로 변경하는 메서드


배열(array), 리스트(lists), 셋(sets)도 작동.

${#strings.capitalizeWords(str)}                    
${#strings.capitalizeWords(str,delimiters)}    



escape 메서드


문자열을 escape한다.
배열(array), 리스트(lists), 셋(sets)도 작동.

${#strings.escapeXml(str)}                          
${#strings.escapeJava(str)}                         
${#strings.escapeJavaScript(str)}                   
${#strings.unescapeJava(str)}                      
${#strings.unescapeJavaScript(str)}    



랜덤 값을 리턴한다.


${#strings.randomAlphanumeric(count)}