假设我有一个Enum类“ sample.enums.Enum”,并且我有一个Struts2应用程序,大多数情况下具有默认配置。
如果我configure my BeanWrappers正确,这应该可以工作。
${enums["java.math.RoundingMode"].UP}
这没用。如何配置Struts2 FreeMarker配置以允许使用enums指令。
即
root.put("enums", BeansWrapper.getDefaultInstance().getEnumModels());
最佳答案
好的,这并不困难,只需扩展FreemarkerManager并覆盖
@Override
public SimpleHash buildTemplateModel(ValueStack stack, Object action, ServletContext ervletContext, HttpServletRequest request, HttpServletResponse response, ObjectWrapper wrapper)
在该方法中,在模型上设置枚举哈希模型。然后设置一个struts属性,
<constant name="struts.freemarker.manager.classname" value="your.freemarker.ConfigClass">