Mam jedną domenę, w tej domenie jest więcej niż 25 członków. Ta wartość członków będzie pochodzić z jednego formularza. Ale źle jest wypełnić te zbyt duże pola. Tak więc pomyślałem, że dzieląc formularz wejściowy na różne etapy.usługa grails z różnymi zakresami dla trwałości
Zrobiłem klasę o nazwie FormObject, która ma pola dla WSZYSTKICH potrzebnych danych wejściowych. Problem polega na tym, że nie można przekazać tego obiektu między strony.
Myślałem, że może serwis z zakresem sesji pozwoli mi zachować odniesienie do obiektu FormObject i po prostu wywołać metodę z usługi, aby uzyskać ją ponownie.
<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
}
}
i używane to pod GSP jak
<g:set var="myForm" value="${formService.getForm()}" />
Jednak dane nie utrzymują między stronami.
Trwa, jeśli zdefiniuję właściwość myObject jako statyczną, ale obawiam się, że kiedy to nastąpi, myObject zostanie udostępniony wszystkim użytkownikom.
Czy ktoś może potwierdzić, co by się stało, gdybym zrobił to statycznie? Czy każda sesja ma obiekt w formie statycznej, czy może istnieć tylko jeden obiekt formularza statycznego?
Dlaczego odpowiadasz na własne pytanie, tak jak rozmawiasz z inną osobą? lol. – lucke84
@ lucke84, to pytanie ważne i nowe dla deweloperów wiedzy dla grails. – sanghavi7
Dobrze, że podzieliłeś się swoim rozwiązaniem, po prostu zastanawiam się, dlaczego nie powiedziałeś "Rozwiązałem to w ten sposób" zamiast "Musisz to zrobić w ten sposób". – lucke84