Tôi có mẫu Freemarker chứa một loạt trình giữ chỗ cho các giá trị được cung cấp khi mẫu được xử lý. Tôi muốn có điều kiện bao gồm một phần của mẫu nếu biến userName được cung cấp, một cái gì đó như:Cách kiểm tra xem biến có tồn tại trong mẫu FreeMarker không?
[#if_exists userName]
Hi ${userName}, How are you?
[/#if_exists]
Tuy nhiên, hướng dẫn Freemarker dường như chỉ ra rằng if_exists bị phản đối, nhưng tôi không thể tìm thấy một cách khác để đạt được điều này . Tất nhiên, tôi có thể đơn giản cung cấp thêm một isUserName biến boolean và sử dụng như thế này:
[#if isUserName]
Hi ${userName}, How are you?
[/#if]
Nhưng nếu có một cách để kiểm tra xem userName tồn tại sau đó tôi có thể tránh thêm biến thêm này.
Trong trường hợp bất kỳ ai khác bị loại bỏ, cú pháp #if phải được bao quanh bởi ít hơn và lớn hơn ký tự thay vì dấu ngoặc vuông. ví dụ: <#if userName ??> – Cameron
Nó thực sự có thể sử dụng cú pháp này, vì vậy tôi chỉ cần làm theo cú pháp của câu hỏi: xem http://freemarker.sourceforge.net/docs/dgui_misc_alternativesyntax.html –
Chỉ này kiểm tra xem var có tồn tại không. Nhưng nếu bạn có một chuỗi rỗng trong "userName", <#if userName ??> sẽ trả về true !! Xem câu trả lời @ user1546081 trên trang này để giải quyết vấn đề này. –