Xin chào freemarkers guruchức năng Freemarker vs macro
Tôi hiểu rằng sự khác biệt giữa các chức năng Freemarker và macro là macro có thể in đến đầu ra, nhưng không thể trở về giá trị, trong khi chức năng có thể trả về giá trị nhưng không thể in đến đầu ra.
Vâng, tôi đang gặp một vấn đề bởi vì tôi cần cả hai để in và trở về giá trị:
Tôi đang làm thăm dò cây đệ quy với Freemarker và do đó tôi có một macro được gọi recurvively. Khi cây đang được khám phá, tôi cần cả hai để in thông tin nút đến đầu ra, nhưng cũng tính toán và trả về số liệu thống kê về các nút được khám phá (ví dụ tổng của một thuộc tính cụ thể của các nút được khám phá)
Nếu tôi sử dụng macro được gọi là recurvively tôi có thể in thông tin nút nhưng không thể trả về số liệu thống kê cho thực thể gọi.
Nếu tôi sử dụng một hàm đệ quy được gọi, tôi có thể trả về số liệu thống kê nhưng không thể in thông tin nút trên đầu ra.
Một giải pháp có thể là khám phá cây hai lần, một lần để in thông tin nút và một thông tin khác để thu thập số liệu thống kê, nhưng tôi ghét sử dụng giải pháp không quan trọng này.
Ai đó có thể đề xuất giải pháp tốt hơn không?
Cảm ơn