2011-02-23 4 views
0

"Sample.enums.Enum"클래스의 Enum 클래스가 있다고 가정 해 봅시다. 대부분의 경우 기본 구성을 사용하는 Struts2 응용 프로그램이 있습니다.FreeMarker 결과를 위해 Struts2에서 enums 지시문을 활성화하는 방법은 무엇입니까?

내가 configure my BeanWrappers이면 제대로 작동합니다.

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

작동하지 않습니다. Enums 지시어를 허용하도록 Struts2 FreeMarker 구성을 어떻게 구성합니까?

즉 확인

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

답변

1

는 어렵지 않게, 단지 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">