私は1つのドメインを持っていますが、そのドメインには25人以上のメンバーがいます。 このメンバーの値は1つのフォームから来ます。しかし、あまりにも多くのフィールドを埋めるのは悪いと感じています。だから私は入力フォームを別々の段階に分けると考えました。grailsサービスで永続性の範囲が異なる
私はすべての入力に必要なフィールドを持つ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
}
}
とデータがページの間保持されませんしかし
<g:set var="myForm" value="${formService.getForm()}" />
ようGSPにそれを使用。
私はmyObjectプロパティをstaticとして定義しても問題はありませんが、これがプロダクションをヒットすると、myObjectがすべてのユーザーに共有されることに心配しています。
誰かが私がそれを静的にしたらどうなるか確認できますか? 各セッションに静的なフォームオブジェクトがあるか、1つの静的なフォームオブジェクトしかないのでしょうか?私は解決策を持って
なぜあなたは他の人と話しているようにあなた自身の質問に答えていますか?笑。 – lucke84
@ lucke84、この質問はgrails開発者にとって重要な知識です。 – sanghavi7
あなたのソリューションを共有したことはいいことですが、なぜ「あなたはそれをこのようにしなければならないのですか」ではなく、「私はこのように解決しました」と言わなかったのでしょうか? – lucke84