Làm thế nào để xử lý các giá trị null
trong Freemarker? Tôi nhận được một số ngoại lệ trong mẫu khi các giá trị null
có trong dữ liệu.Xử lý các giá trị null trong Freemarker
Trả lời
Bạn có thể sử dụng toán tử ??
kiểm tra:
kiểm tra này, nếu thuộc tính của đối tượng không phải là null:
<#if object.attribute??></#if>
kiểm tra này, nếu đối tượng hoặc thuộc tính không phải là null:
<#if (object.attribute)??></#if>
Nguồn: FreeMarker Manual
sự khác biệt giữa phương pháp này là gì và has_content ?? –
'has_content', bên cạnh kiểm tra rỗng, cũng kiểm tra xem giá trị có trống không. Điều này làm việc cho chuỗi, chuỗi, băm hoặc bộ sưu tập. Nếu đối tượng là ngày, boolean hoặc một số, thì nó hoạt động như không trống. Đối với tất cả các loại khác, nó sẽ hoạt động như trống. –
Tôi có vấn đề này, nơi tôi phải kiểm tra xem giá trị trong đậu là null.I đã thử như sau: $ {checknull (Bean.getValue())}, trong đó checknull nếu một hàm <#function checknull x> <#if x??> <#return ""> <#else> <#return x> #if> #function> nhưng tôi nhận được "Lỗi thực thi vĩ mô: checknull cần tham số: x không được xác định." lỗi –
Tôi nghĩ rằng nó hoạt động theo cách khác
<#if object.attribute??>
Do whatever you want....
</#if>
Nếu object.attribute
là NOT NULL, sau đó nội dung sẽ được in.
Bắt đầu từ Freemarker 2.3.7, bạn có thể sử dụng this syntax:
${(object.attribute)!}
hoặc, nếu bạn muốn hiển thị một văn bản mặc định khi thuộc tính là null
:
${(object.attribute)!"default text"}
Đối với những người đang sử dụng Freemarker như mẫu động cơ cho XDocReport, điều này đang làm việc sau khi thêm '
Làm thế nào để bạn làm điều đó nếu bạn có một ngày và ngày có thể là null? Nói cách khác object.dateAcquired nơi dateAcquired có thể là null và bạn có $ {object.dateAcquired? Date} –
@StephaneGrenier sử dụng '$ {(object.dateAcquired? Date)!" Not present "}' –
Sử dụng ??
điều hành ở cuối câu hỏi <#if>
của bạn.
Ví dụ này minh họa cách xử lý null
giá trị cho hai danh sách trong mẫu Freemaker.
List of cars:
<#if cars??>
<#list cars as car>${car.owner};</#list>
</#if>
List of motocycles:
<#if motocycles??>
<#list motocycles as motocycle>${motocycle.owner};</#list>
</#if>
- 1. Giá trị concat trong MySQL Query (Để xử lý giá trị Null)
- 2. Xử lý null trong Datawarehouse
- 3. Làm thế nào để xử lý các giá trị null trong LINQ?
- 4. Xử lý giá trị null trong mùa xuân biểu hiện ngôn ngữ
- 5. FreeMarker? Thay thế nhiều giá trị
- 6. cách xử lý giá trị null cho kiểu dữ liệu SQLDecimal trong lớp FileHelper
- 7. Thanh lịch xử lý các giá trị trống trong một giá trị băm lồng nhau
- 8. Đếm các giá trị Null trong MYSQL
- 9. Xử lý "giá trị Request.Form nguy hiểm ..."
- 10. R gbm xử lý các giá trị bị thiếu
- 11. if (giá trị == null) vs nếu (null == giá trị)
- 12. Xử lý giá trị thay thế Unicode trong chuỗi Java
- 13. Truyền vs ToXXX để xử lý giá trị trong v8
- 14. Lọc các giá trị null bằng pig
- 15. XStream serialize các giá trị null
- 16. Xử lý hay không để xử lý các tham số null với ngoại lệ
- 17. Giá trị Hex được xử lý như thế nào?
- 18. đối tượng giá trị Null trong NHibernate
- 19. TCPO3 TCA chọn, giá trị NULL trong các mảng
- 20. thay thế các giá trị null trong sql trục
- 21. Đọc giá trị null từ tập tin
- 22. Các toán tử ngầm có nên xử lý null không?
- 23. Trình xử lý hoàn thành và giá trị trả về
- 24. Xử lý bằng cách đặt thành null?
- 25. Xử lý null theo phương pháp mở rộng
- 26. Giá trị đa xử lý và độc đáo
- 27. javascript giá trị null trong chuỗi
- 28. MPI Nhận bộ xử lý với giá trị nhỏ nhất
- 29. Moustache javascript: cách xử lý với giá trị boolean
- 30. C# - LINQToExcel - Giá trị Null
thể trùng lặp: http://stackoverflow.com/questions/306732/how-to-check-if-a-variable-exists-in-a-freemarker-template – cowls