afterPropertySetを下記のようにオーバーライドする。
package jp.mobi.hoge;
import java.io.IOException;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.TemplateException;
public class MyFreeMarkerConfigurer extends FreeMarkerConfigurer {
@Override
public void afterPropertiesSet() throws IOException, TemplateException {
if (getConfiguration() == null) {
Configuration configuration = createConfiguration();
((DefaultObjectWrapper)configuration.getObjectWrapper()).setExposeFields(true);
setConfiguration(configuration);
}
}
}
このクラスをfreemarkerConfigにbean登録してあげればFTL内でpublicフィールドにアクセスできる。