freemarker에서 변수의 클래스 유형을 가져오고 싶습니다. var.class.simpleName
; 하지만 var가 Map 인 경우 freemarker는 클래스를 var로 값을 찾기위한 키로 처리합니다. 예외가 발생합니다. 내가 어떻게 할 수 있니? 어떤 제안에 감사드립니다.FreeMarker에서지도 클래스 가져 오기
0
A
답변
1
먼저 FreeMarker 템플릿은 var
이 Map
인데도 알 수 없기 때문에 왜 그런지 묻는 것이 좋습니다. 데이터 모델이 템플릿에 필요한 것이 아닐 수도 있습니다.
어쨌든, 지금은 TemplateMethodModelEx
을 쓸 것입니다.이 용도로 사용할 수있는 것은 ${classOf(var)}
입니다. TemplateMethodModelEx
구현 내에서 인수 값으로 TemplateModel
을 수신 한 다음 AdapterTemplateModel
인지 확인할 수 있습니다. 그렇다면 원래 개체를 가져 와서 클래스를 가져올 수 있습니다. (AdapterTemplateModel
이 아닌 경우에는 래핑 된 Java 객체가 아니기 때문에 원래 객체의 클래스를 묻는 것은 의미가 없습니다.)(incompatibleImprovements
)은 2.3보다 작게 설정됩니다. 22는 AdapterTemplateModel
을 Map
-s ...로 감싸지 않습니다. 따라서 2.3.21에서는 여전히 BeansWrapper
을 사용해야하지만 적어도 simpleMapWrapper
은 true
으로 설정할 수 있습니다.
2.3.22에서 실제로는 ${var?api.class}
을 작성할 수 있습니다 ... 야간 빌드를 사용할 수도 있습니다. 비즈니스 클래스의 기본 유형이 Map
이기 때문에 비즈니스 메소드에 액세스 할 수없는 경우에만 문제를 해결할 수 있습니다.
관련 문제
- 1. PHP 클래스 가져 오기
- 2. 가져 오기 닷넷 클래스
- 3. 가져 오기 클래스 jQuery를
- 4. Python에서 클래스 가져 오기
- 5. 클래스 생성자를 가져 오기
- 6. Groovy에서 클래스 가져 오기
- 7. VB.NET 가져 오기 클래스
- 8. matlab에서 클래스 가져 오기
- 9. 가져 오기 클래스 필드
- 10. prefix.pch에서 클래스 가져 오기
- 11. 호출자 클래스 가져 오기
- 12. Java에서 클래스 가져 오기?
- 13. 가져 오기 자바 클래스
- 14. 클래스 선언 가져 오기
- 15. 자바에서 클래스 가져 오기
- 16. elementFromPoint에서 클래스 가져 오기?
- 17. 클래스 패스의 모든 클래스 가져 오기
- 18. 클래스 가져 오기 및 클래스 상속
- 19. 내부 클래스 용 클래스 가져 오기
- 20. 스칼라 - 특수 클래스 용 클래스 가져 오기
- 21. 클래스 개체에서 클래스 이름 가져 오기
- 22. 심볼에서 모델 클래스 가져 오기
- 23. div에서 클래스 이름 가져 오기
- 24. 클래스 이름에서 인스턴스 가져 오기
- 25. 모듈에서 클래스 이름 가져 오기
- 26. 하위 클래스 이름 가져 오기?
- 27. 클래스 가져 오기 Java 내
- 28. jquery에서 클래스 attr 가져 오기
- 29. Matlab에서 자신의 클래스 가져 오기
- 30. JSP로 자바 클래스 가져 오기
해결되었으므로 BeansWrapper를 사용하여'setObjectWrapper'를 수정해야합니다. \t \t 구성 config = new Configuration(); // config.setObjectWrapper (새 DefaultObjectWrapper()); config.setObjectWrapper (새 BeansWrapper()); – nealons
그리고 모든 평소의'지도'검색을 망쳤습니다 ... 간단히 말해서, 나는 이것을 아무에게도 추천하지 않습니다. – ddekany