FreeMarker テンプレートから静的プロパティにアクセスしたい
Static Final Fields を含む Global というクラスがあり、このクラスは FreeMarker モデルの一部ではありません。アプリの起動時にこのクラスを FreeMarker モデルに追加し、次のように Freemarker テンプレートからアクセスする方法があるかどうかを知りたいです。
${statics["com.ums.common.Global"].Change}
FreeMarker テンプレートから静的プロパティにアクセスしたい
Static Final Fields を含む Global というクラスがあり、このクラスは FreeMarker モデルの一部ではありません。アプリの起動時にこのクラスを FreeMarker モデルに追加し、次のように Freemarker テンプレートからアクセスする方法があるかどうかを知りたいです。
${statics["com.ums.common.Global"].Change}
試す
dataModel.put("statics", ((BeansWrapper) cfg.getObjectWrapper()).getStaticModels());
はcfg
FreeMarkerConfiguration
オブジェクトです。次にstatics['com.example.ClassName'].FIELD_NAME
、静的フィールドまたはメソッドにアクセスするために使用できます。次のようなものも使用できます
dataModel.put("globals", ((BeansWrapper) cfg.getObjectWrapper()).getStaticModels().get("com.ums.common.Global"));
そのクラスの定数のみを公開したい場合。