我有一个域,在该域中有超过 25 个成员。该成员的价值将来自一种形式。但是填满那些太多的领域感觉很糟糕。所以我想把输入形式分成不同的阶段。
我创建了一个名为 FormObject 的类,其中包含所有所需输入的字段。问题是没有办法在页面之间传递这个对象。
我在想也许具有会话范围的服务将允许我保留对 FormObject 的引用,并且只需从服务中调用一个方法来再次获取它。
<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
}
}
并将其用于 GSP 之类的
<g:set var="myForm" value="${formService.getForm()}" />
但是,数据不会在页面之间保留。
如果我将 myObject 属性定义为静态,它确实会持续存在,但我担心当它投入生产时,myObject 将在所有用户之间共享。
谁能确认如果我将其设为静态会发生什么?每个会话会有一个静态表单对象还是只有一个静态表单对象?