私は0-26のリストを反復しており、それぞれに対応する文字を取得したいと考えています。たとえば、0は私に文字 'A'を与えます。freemarkerの文字に整数をキャストする方法はありますか?
私はjavaで言うことができます: char A =(char)65; それは私に私の65の整数から 'A'を与えるでしょう。
しかし、どのように私はfreemarkerでフロントエンドでこれを行うことができます、私はヒントを持っていない?
私は0-26のリストを反復しており、それぞれに対応する文字を取得したいと考えています。たとえば、0は私に文字 'A'を与えます。freemarkerの文字に整数をキャストする方法はありますか?
私はjavaで言うことができます: char A =(char)65; それは私に私の65の整数から 'A'を与えるでしょう。
しかし、どのように私はfreemarkerでフロントエンドでこれを行うことができます、私はヒントを持っていない?
更新: FreeMarker 2.3.22では、(i + 1)?upper_abc
という表現を使用できます。 i
が0ベースの場合は、+ 1
が必要です。
残念ながらFreeMarkerにはまだ演算子がありません。 \x
エスケープを使用し、次に?eval
を使用する文字列リテラルを構築することによって、これをFreeMarkerで純粋に達成することは可能ですが、それは非常に醜く非効率的です。ですから今のところ適切な解決方法はTemplateMethodModelEx
を書いて、<#assign numToChar = 'com.example.NumToCharMethod'?new()>
と#import
-etユーティリティライブラリ(あれば)に入れて、それをConfiguration
の共有変数として追加することです。