У меня есть объект, который выходит из HashMap и помещает его в модель данных freemarkers. Теперь каждый раз, когда я пытаюсь вызвать метод для этого объекта, freemarker пытается получить доступ к ключу внутри карты, что приведет к ошибке. Я получил ту же проблему с объектами, которая выходит из ArrayList. Есть ли способ вызывать методы Java этих объектов вместо доступа к их ключам?
Вот экзамен:
Объект, который я хотел бы поместить в модель данных:
public class ObjectInDataModel extends HashMap<String, String> {
private static final long serialVersionUID = 1L;
private boolean bSuccess;
public ObjectInDataModel(boolean bSuccess) {
this.bSuccess = bSuccess;
}
public boolean isSuccessful() {
return bSuccess;
}
}
Код бесплатного маркера:
<html>
<head>
</head>
<body>
<#if object.isSuccessful() == true>
<h1>Success</h1>
<#else>
<h1>Fail</h1>
</#if>
</body>
</html>
Когда я пытаюсь его обработать, я получаю следующую ошибку:
09:10:59,458 ERROR [stderr] (default task-1) org.auctores3.fw.util.ActFwRuntimeException: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:
09:10:59,458 ERROR [stderr] (default task-1) ==> object.isSuccessful [in template "test" at line 5]
Поскольку Freemarker пытается получить доступ к ключу isSuccessful вместо вызова метода isSuccessful ().