freemaker 학습 노트 - 디자인 지도
9571 단어 디자인 모드springfreemarker.netF#
부족 값: name!"unknown" 혹은 (user.name)!"unknown" 혹은 name! 혹은 (user.name)!
null 값 검사: name?? or (user.name)??전의 목록:
Escape sequence
Meaning
\ "(글 출처 www. iocblog. net)
Quotation mark (u0022)
\'
Apostrophe (a.k.a. apostrophe-quote) (u0027)
\\
Back slash (u005C)
Line feed (u000A)
\r
Carriage return (u000D)
\t
Horizontal tabulation (a.k.a. tab) (u0009)
\b
Backspace (u0008)
\f
Form feed (u000C)
\l
Less-than sign: <
\g
Greater-than sign: >
\a
Ampersand: &
\{
Curly bracket: {
\xCode
Character given with its hexadecimal Unicode code ( UCS code)
${를 인쇄 하려 면 {의 미 를 바 꿔 야 합 니 다. "$\ {user}" 이 라 고 쓰 거나 생 문자 (r 명령): $(r "${xx}"} 시퀀스 로 구성 할 수 있 습 니 다. < \ # list
["winter", "spring", "summer", "autumn"]
as x > ${x} < / \ # list > 다른 대상 은 하나의 시퀀스 에 저장 할 수 있 습 니 다. 예 를 들 어:
[2 + 2, [1, 2, 3, 4], "whatnot"]
첫 번 째 는 숫자 이 고, 두 번 째 는 시퀀스 이 며, 세 번 째 는 문자열 입 니 다. start. end 방식 으로 하나의 숫자 시퀀스 를 정의 할 수 있 습 니 다. start 는 end 보다 작 을 수 있 으 며, end 도 생략 할 수 있 습 니 다. hash 수치 추출 은 네 가지 모드 를 지원 합 니 다.
book.author.name
,
book["author"].name
,
book.author.["name"]
,
book["author"]["name"]
.
특수 변 수 는 freemaker 엔진 자체 가 정의 하 는 변 수 를 말 합 니 다. 접근 할 때. variable name 의 문법 으로 접근 합 니 다. 변수 표현 식 은 내장 모드 를 지원 합 니 다. 예 를 들 어 ${"Hello ${user}!"}. 변수 표현 식 은 명령 에서 사용 할 수 있 습 니 다. 변수 표현 식 은 명령 에서 "" "로 존재 할 수 있 습 니 다. < \ # include" / footer / ${copany}. html "> 보다 못 합 니 다. 그러나 아래 의 방식 이 존재 하 는 것 을 허락 하지 않 습 니 다. <#if ${isBig}>Wow!, 정확 한 표기 법 은 < \ # if isBig > Wow! < / \ # if > 입 니 다. 게다가 <#if "${isBig}" > Wow! < / \ # if > 쓰기 도 올 바 르 지 않 습 니 다. "${isBig}" 은 boolean 형식 이 아 닌 문자열 을 되 돌려 주기 때 문 입 니 다. 문자열 에서 문자 나 문자열 은 다음 문법 을 사용 합 니 다: ${user [0]}, ${user [0. 2]} ${user [4.]}, ${user? string (4)} 시퀀스 작업: 덧셈: < \ # list ["Joe", "Fred"] + ["Julia", "Kate"] as user > 하지만 직렬 연결 후 읽 기 속도 가 느 려 지 는 것 에 주의해 야 합 니 다. 하위 시퀀스: seq [1. 4]시퀀스 와 hash 의 직렬 연결 은 두 개의 더하기 에 만 사용 할 수 있 습 니 다. 여러 개의 더하기 모드 가 있 을 수 없습니다. hash 를 더 하면 두 개의 추 가 된 hash 가 같은 key 가 존재 하면 그 뒤에 앞 을 덮어 씁 니 다. > = 또는 > 를 사용 할 때 몇 가지 문 제 를 주의해 야 합 니 다. freemaker 는 > 를 태그 의 닫 힌 문자 로 해석 하기 때문에 이 문 제 를 해결 하기 위해 서 는 표현 식 에 괄호 를 붙 여야 합 니 다. 예 를 들 어: <#if (x > y)>. 또는 사용 > and < 기호 로 대체 합 니 다. 값 없 는 변수 (이 변수, null, void, 속성 없 음 등 포함): unsafe expr! default expr or unsafe_expr! or(unsafe_expr)!default_expr or (unsafe expr)! 결 성 된 값 은 모든 유형 일 수 있 습 니 다. 꼭 숫자 가 아 닙 니 다. 예 를 들 어 hits! 0 혹은 colors!["red", "green", "blue"]. 결 성 된 값 을 무시 하면 기본적으로 빈 문자열, 빈 시퀀스 또는 빈 hash 입 니 다. freemarker 는 여러 종류의 값 을 지원 하기 때 문 입 니 다. 그러나 기본 값 을 0 또는 false 로 하려 면 결 성 된 값 을 생략 할 수 없습니다. 최상 위 변수의 무 값 처리: produt. color! "red": produt 만 비어 있 지 않 고 color 는 비어 있 는 결 성 값 으로 처리 합 니 다. produt 이 비어 있 으 면 freemaker 는 이상 을 던 집 니 다. (produt. color)! "red": produt 이 비어 있 거나 color 속성 이 없 는 값 없 는 상황 을 처리 합 니 다. 값 없 는 변수의 판단 작업: unsafe expr?? or (unsafe_expr)??
변수 가 값 이 없 는 지 판단 합 니 다. 일반 변수 삽입 방식:
${expression},${3+5);
디지털 변수 삽입 방식:
#{expression}
or
#{expression; format}: 만 료 되 었 습 니 다. 변 수 는 텍스트 영역 이나 문자열 에 만 사용 할 수 있 습 니 다. 예 를 들 어 < h1 > Hello ${name}! < / h1 > 및 <#include "/ footer / ${company}. html" > 디지털 값 삽입: 결 성 된 number format 출력 과 setting 을 통 해 디지털 형식 을 설정 하 는 목적 을 달성 할 수 있 으 며, 내 장 된 함수 string 을 통 해 출력 형식 을 변경 할 수 있 습 니 다. 날짜 형식의 형식 설정: date format, time_format 화해시키다 datetime format 정의 매크로: 인자 없 음: < \ # macro 매크로 이름 >... < / \ # macro >, 참조 < @ 매크로 이름 / > 매개 변수: < \ # macro 매크로 이름 매개 변수... >... < / \ # macro >, 참조 < @ 매크로 이름 매개 변수 1 = 값 1... / >, 매개 변수 가 있 는 매크로, 호출 은 매개 변수의 개수 와 같 아야 합 니 다. 물론 매크로 정의 시 매개 변수 에 기본 값 을 줄 수도 있 습 니 다. 예 를 들 어 < \ # macro greet person color = "black" > 매크로 에 포 함 된 내용: < \ # macro border > < tr > < td > (글 출처 www. iocblog. net) <#nested>
<#macro repeat count>
<#list 1..count as x>
<#nested x, x/2, x==count>
</#list>
</#macro>
<@repeat count=4 ; c, halfc, last>
${c}. ${halfc}<#if last> Last!</#if>
</@repeat>
정의 변수: 템 플 릿 에 정 의 된 변 수 는 데이터 모델 루트 아래 의 같은 이름 의 변 수 를 숨 깁 니 다. 템 플 릿 의 3 가지 형식 변 수 는: 1: plain variables 는 템 플 릿 의 어느 곳 에서 든 접근 할 수 있 습 니 다. 템 플 릿 include 의 다른 템 플 릿 도 포함 되 어 있 는 변 수 를 방문 할 수 있 습 니 다. assign 이나 macro 명령 을 통 해 변 수 를 만 들 거나 교체 할 수 있 습 니 다. 데이터 모델 의 변 수 를 방문 하려 면 'global' 을 통 해 접근 할 수 있 습 니 다. <#assign user = "Joe Hider"> ${user} <#-- prints: Joe Hider --> ${.globals.user} <#-- prints: Big Joe--> 2: Local variables, 매크로 정의 body 에서 local 명령 으로 만 들 거나 교체 합 니 다. 3: Loop variables: list 명령 으로 생 성 됩 니 다. namespaces: < \ # import "/ lib / my test. ftl" as my> <#-- the hash called "my" will be the "gate" --><@my.copyright date="1999-2002"/>${my.mail} 네 임 스페이스 의 변 수 를 설정 합 니 다: < \ # assign mail = "[email protected]" in my > 네 임 스페이스 와 데이터 모델: 네 임 스페이스 의 ftl 은 데이터 모델 의 변 수 를 방문 할 수 있 습 니 다. 같은 네 임 스페이스 의 변 수 는 데이터 모델 의 같은 이름 의 변 수 를 숨 깁 니 다. 공백 문제: 1: White - space stripping, 기본 값 은 enabled 이 며, ftl 태그 가 가 져 온 공백 과 들 여 쓰기 를 제거 합 니 다. 템 플 릿 의 공백 을 처리 합 니 다. 2: t, rt, lt 명령. 3: ftl 의 인자 strip text. compress directive 또는 transform 으로 출력 을 처리 합 니 다. < \ # compress >... < / \ # compress >: 공백 줄 을 제거 합 니 다. < @ compress single line = true >... /@compress 출력 을 한 줄 로 압축 합 니 다. 문법 을 바 꿀 수 있 습 니 다. freemarker 는 "[" 대체 "를 사용 할 수 있 습 니 다. 템 플 릿 의 파일 시작 에 [\ # ftl] 을 추가 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.