假设我有一个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">

10-06 05:41