Есть ли способ зарегистрировать класс в jinjava?
Я только начал использовать jinjava. Мне нужно получить доступ к списку или массиву следующего класса в шаблоне jinjava:
class Interface {
public String interfaceName;
public String interfaceDesc;
public String interfaceIP;
public String maskbits;
public Interface(String interfaceName, String interfaceDesc, String interfaceIP, String maskbits)
{
this.interfaceName = interfaceName;
this.interfaceDesc = interfaceDesc;
this.interfaceIP = interfaceIP;
this.maskbits = maskbits;
}
};
Я добавляю следующее в службу перед рендерингом шаблона:
Jinjava jinjava = new Jinjava();
Map<String, Object> context = new HashMap<String, Object>();
Dictionary<String, Object> my_dict = new Hashtable<>();
ArrayList<Interface> interfaces = new ArrayList<Interface>();
interfaces.add(new Interface("eth", "management interface","$*mgmntBR0IpAddress1$","$*mgmntBR0MaskBits1$"));
interfaces.add(new Interface("eth", "pub interface", "$*pubBR1IpAddress1$", "$*pubBR1MaskBits1$"));
interfaces.add(new Interface("eth", "pip interface", "$*pipBR2IpAddress1$", "$*pipBR2MaskBits1$"));
interfaces.add(new Interface("eth", "pip interface", "$*pipBR3IpAddress1$", "$*pipBR3MaskBits1$"));
my_dict.put("interfaces", interfaces);
context.put("my_dict", my_dict);
// reading the template and rendering ...
Затем в шаблоне мне нужно получить доступ к каждому элементу в списке интерфейсов:
{% for interface in my_dict.interfaces %}
clish -s -c "set interface {{interface.interfaceName}}{{loop.index}} state on"
{% endfor %}
Но отображаемый шаблон показывает пустые места, где {{interface.interfaceName}}.
Я что-то упускаю? Заранее спасибо за помощь