Tôi có một miền, trong miền đó có hơn 25 thành viên ở đó. Giá trị thành viên này sẽ đến từ một biểu mẫu. Nhưng nó cảm thấy xấu để điền vào những lĩnh vực quá nhiều. Vì vậy, tôi nghĩ rằng chia hình thức đầu vào thành các giai đoạn khác nhau.dịch vụ grails với các phạm vi khác nhau cho sự kiên trì
Tôi đã tạo một lớp có tên FormObject có các trường cho TẤT CẢ đầu vào cần thiết. Vấn đề là không có cách nào để vượt qua đối tượng này giữa các trang.
Tôi đã nghĩ có thể một dịch vụ có phạm vi phiên sẽ cho phép tôi giữ tham chiếu đến FormObject và chỉ cần gọi phương thức từ dịch vụ để nhận lại.
<g:set var="formService" value="${new FormService()}" />
class FormService{
static transactional = false
static scope = "session"
FormObject myObject = new FormObject()
def resetForm(){
myObject=new FormObject()
}
def getForm(){
return myObject
}
}
và sử dụng đó vào GSP như
<g:set var="myForm" value="${formService.getForm()}" />
Tuy nhiên, dữ liệu không tồn tại giữa các trang.
Nó vẫn tồn tại nếu tôi xác định thuộc tính myObject là tĩnh, nhưng tôi lo lắng rằng khi lần truy cập này được sản xuất, myObject sẽ được chia sẻ trên tất cả người dùng.
Có ai có thể xác nhận điều gì sẽ xảy ra nếu tôi đặt quảng cáo tĩnh không? Mỗi phiên có một đối tượng dạng tĩnh hay chỉ có một đối tượng dạng tĩnh?
Tại sao bạn trả lời câu hỏi của riêng mình như khi bạn đang nói chuyện với người khác? lol. – lucke84
@ lucke84, câu hỏi này quan trọng và mới mẻ đối với kiến thức đối với nhà phát triển grails. – sanghavi7
Đó là một điều tốt khi bạn chia sẻ giải pháp của mình, tôi chỉ tự hỏi tại sao bạn không chỉ nói "Tôi đã giải quyết nó theo cách này" thay vì "Bạn phải làm theo cách này". – lucke84