Как включить директиву enums в Struts2 для результатов FreeMarker? - PullRequest
0 голосов
/ 23 февраля 2011

Скажем, у меня есть класс Enum "sample.enums.Enum", и у меня по большей части есть приложения Struts2 с конфигурацией по умолчанию.

Если я правильно настрою свои BeanWrappers ,это должно работать.

${enums["java.math.RoundingMode"].UP}

Это не работает.Как мне сконфигурировать мою конфигурацию Struts2 FreeMarker для учета директивы enums.

т.е.

root.put("enums", BeansWrapper.getDefaultInstance().getEnumModels()); 

1 Ответ

1 голос
/ 10 марта 2011

Хорошо, это не сложно, просто расширьте FreemarkerManager и переопределите

@Override
public SimpleHash buildTemplateModel(ValueStack stack, Object action, ServletContext ervletContext, HttpServletRequest request, HttpServletResponse response, ObjectWrapper wrapper)

В этом методе установите модель хеширования перечислений для модели.Затем установите свойство распорок,

<constant name="struts.freemarker.manager.classname" value="your.freemarker.ConfigClass">
...