#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?