2009-10-29 28 views
5

Tôi đang sử dụng freemarker để tạo mẫu trình đánh dấu freemarker. Nhưng tôi cần một số cách để thoát khỏi các thẻ freemarker.Freemarker thoát freemarker

Làm cách nào để thoát khỏi thẻ <#list> hoặc ${expression}?

Trả lời

7

Tôi đang sử dụng tính năng alternative syntax. Tôi bắt đầu mẫu với [#ftl] và sử dụng cú pháp này.

Đối với các biểu thức tôi sử dụng chuỗi tính năng theo nghĩa đen: ${r"${expression}"}

+0

Tôi sử dụng cùng một cách tiếp cận, có chút xấu xí nhưng hoạt động. Nó thực sự khó chịu nếu tôi sử dụng một biến của mẫu bên ngoài để xác định quyền truy cập thuộc tính của một biến của mẫu được tạo, trông giống như sau: $ {r "$ {entity."} $ {PropertyDescriptor.name}} và kết thúc như $ {entity.creationDate} cho rằng propertyDescriptor có tên "creationDate". –

8

Bạn cũng có thể sử dụng: ${"$"}{expression} nếu bạn tìm thấy những bối rối {} làm tổ.

+0

Ý tưởng hay, tôi nghĩ rằng điều này hỗ trợ khả năng đọc tốt hơn –

+0

Tốt nhất của tất cả các lựa chọn thay thế được đề xuất cho đến nay. Làm tôi lo lắng rằng không có cách nào đơn giản hơn, chẳng hạn như '\ $' - nhưng không có. Đây là một sự gần gũi đủ tốt về sự thanh lịch ... – Stevel

0

Trong trường hợp khi bạn muốn sử dụng chuỗi phi liệu để bạn có thể thoát khỏi dấu ngoặc kép, dấu nháy, vv, bạn có thể làm như sau:

Hãy tưởng tượng rằng bạn muốn sử dụng chuỗi $ {Xin chào} - "Bạn của bạn tôi" bên trong một chuỗi. Bạn không thể làm điều đó với các chuỗi thô. Những gì tôi đã sử dụng công trình đó là:

${"\x0024{Hello}-\"My friend's friend\""} 

Tôi đã không thoát khỏi dấu nháy đơn vì tôi đã sử dụng dấu ngoặc kép.

Các vấn đề liên quan