저는 Apache Tomcat을 Velocity 및 VelocityViewServlet과 함께 사용하고 있습니다. ViewContext에 대한 커스텀 툴을 만들었습니다. 그것은 모두 잘 작동합니다.Apache Velocity + Tomcat : 웹 응용 프로그램 내에서 수동으로 템플릿 처리
질문 : 템플릿을 찾고로드하는 가장 좋은 방법은 무엇이며 매개 변수를 succied로 처리합니까?
나는 파일에 이미 절대 경로
((ViewContext)context).getRequest().getSession().getServletContext().getRealPath("/")
- 을 통해 얻은 나는 VelocityEngine를 인스턴스화해야합니까? 벨로 시티 (VelocityViewServlet)에 의해 유지 관리되는 글로벌이 없다고 가정합니다.
- 어떤 Velocity 로더를 사용하는 것이 가장 좋습니까? 여기
응답을위한 Thx. 이미 2.0을 사용하고 있습니다. ViewContext에 대한 응답은 Velocity 가이드에 설명 된대로 init (Object) 메소드를 통해 수행된다. Atm 저는 Velocity.evaluate (vc, writer, "log", reader)로 목표 템플릿을 평가합니다; –
Velocity.evaluate()를 직접 호출하면 VelocityViewServlet이 전혀 필요하지 않습니다. 그래서 여기에 누락 된 것이 있다고 생각합니다. 도구 자체의 경우, ViewContext를 사용하여 init() 메서드가 호출되지만 여기서는 필요할 경우 세터 만 선언하는 것이 더 좋습니다 (도구 프레임 워크에서 호출하는 방법). 또한 도구 내에서 템플릿을 찾으려면 어떨까요? 이 도구는 인스턴스화되고 컨텍스트 (사용자 또는 도구 프레임 워크 중 하나)에 의해 구현됩니다. 모두 –
모두 Velocity 자체에서 처리됩니다. 실제로는 템플릿의 결과를 SQL로 실행하고 맵의리스트를 반환하는 하나의 툴을 제외하고는. 링크 (sql/myquery)는 다른 매개 변수 (varargs)와 함께 인수로 전달됩니다. 그 이상은 아니지만 필요합니다. 그래서 나는 "가장 순수한"해결책을 찾고 있습니다. 아니면 그냥 팁. 이것은 propably 히 내가 이것을 얻을 수있는 최대입니다 그래서 나는 이것을 답으로 표시 할 것입니다. –