2013-08-08 26 views
11
<g:each in="${business}" status="i" var="businessInstance"> 
<tr class="${(i % 2) == 0 ? 'odd' : 'even' }"> 
<td>${fieldValue(bean: businessInstance, field: "id") }</td> 
<td>${businessInstance.id}</td> 
</tr> 
</g:each> 

Trong ví dụ trên, cả dữ liệu bảng thứ nhất và thứ hai đều có cùng giá trị. Có sự khác biệt nào trong hai trường hợp đó không?Grails g: each, Sử dụng fieldvalue hoặc truy cập trực tiếp Sự khác biệt

Trả lời

14

fieldValue thoát giá trị bằng cách gọi encodeAsHTML() để bảo vệ chống lại các cuộc tấn công XSS, vì vậy sẽ an toàn hơn nhiều khi sử dụng. Nó cũng định dạng các số theo ngôn ngữ hiện tại.

+0

Việc định cấu hình grails.views.default.codec = 'html' có khiến $ {} hoạt động như $ {fieldValue} (tôi đang làm việc trên Grails 2.2.0 không?)? – BenC

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