freeMarkerにおけるマクロ解析


ユーザ定義命令-@適合を使用して呼び出す 
       Macro(マクロ)とtransform(トランスミッタ)の2つのタイプがあります.Macroはテンプレートでmacroコマンド定義を使用しますが、transformはテンプレート外でプログラム定義(基本的にJavaベース)で、ここではMacroでカスタムコマンドを紹介します.
1:マクロを紹介する前にhtmlのラベルについて説明します.
1.1、name= viewport

属性解析:1、width:viewportのサイズを制御し、600などの値を指定したり、device-widthがデバイスの幅(100%にスケールされたCSSのピクセル単位)2、height:widthに対応して高さ3、initial-scale:初期スケール、ページの最初のロード時のスケール4、maximum-scale:ユーザーの縮小を許可する最大スケール、範囲0から10.0 5、minimum-scale:ユーザーの縮小を許可する最小スケール、範囲0から10.0
6、user-scalable:ユーザーが手動でスケールできるかどうか、値は:1 yes、trueでユーザーがスケールできる;②no、falseはユーザーの拡大・縮小を許さない
1.2、metaのname属性
     
 
 


1.3、htmlの中でもっと多くのmetaとlinkの使用
 
 
 





 
 

    
:  ico    ;


2、マクロは変数名のテンプレートクリップです.テンプレートでマクロをカスタムコマンドとして使用すると、重複した作業が可能になります.
2.1、マクロを簡単に使う解析
  
Hello Joe!  
#macro>

   macroコマンド自体は何も印刷されず、マクロ変数を作成するために使用されるためgreetという変数があります.マクロ定義体と呼ばれるmacro>との間のコンテンツは、命令として使用すると実行されます.FTLタグでは、#の代わりに@を使用してカスタムコマンドを使用できます.変数名を命令名として使用します.また,カスタム命令の終了フラグも必要である.
@greet>  
    
 

出力結果:
Hello Joe!

2.2.ネストmacro内容:カスタム命令でネストできる内容、例:
public.ftlファイルを作成します.各共通マクロmacroを格納するために使用
  
  
  
  
      
          
          
          
        ${title}  
          
          
          
          
          
          
          
      
      
#macro>  
  
  
  
  
      
      
      
      
      
  
#macro>  

サンプルページabout.ftl、マクロmacroを
  
  
  
  
  
  
  
@header>  
  

FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro

@footer>

の :
  
  
  
      
      
      
          
      
      
      
      
      
      
      
      
  
  
  

FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro FreeMarker macro


2.3カスタムマクロの :

    
        
    #assign>
#macro>


    
    
        
            
            ${layout_title}
            
            
            
                var API_HOST_URL = "${API_HOST_URL!'http://www。hao123.com'}";
            
            
        
        
            
            
        
    
#macro>
    @head>