Почему freemarker не читает мой Java-объект (POJO)?

#freemarker #datamodel

#freemarker #datamodel

Вопрос:

Я использую freemarker для обработки html-элементов внутри файла шаблона, он может прочитать один из моих устаревших Java-объектов, предоставив ${form.fontStyle} , но он не читает мой недавно созданный Java-объект «

 public class SectionHeaderInfo implements Serializable {

private static final long serialVersionUID = 1L;

// the form object holds the setting of the form.
private Form form;

// the form section object
private FormSection section;

private String languageText;

public String name;

public SectionHeaderInfo(Form form, FormSection section, String languageText) {
    this.form = form;
    this.section = section;
    this.languageText = languageText;
}
    public void getName() {
         return "whatever";
    }
  

Я добавил getName только для тестирования, но он жалуется

Вызвано: freemarker.core.Исключение UnexpectedTypeException: для «.» левый операнд: ожидаемый хэш, но он оценивается как (оболочка: com.xxx.SectionHeaderInfo):

Я сравнил два класса Java, попробовал implements TemplateModel, Serializable , ничто не может заставить его работать. Чего мне здесь не хватает?

Комментарии:

1. Покажите нам свой шаблон FTL.

2. Действительно ли это говорит «к (оболочке: com.xxx.SectionHeaderInfo)»? Перед частью «(оболочка» должен быть тип FTL. Кроме того, знаете ли вы, что ObjectWrapper Configuration использует FreeMarker?