さまざまな種類のレポートをドメイン オブジェクトとして保存する Web アプリを作成しているため、HeadOfHousehold
名前データを含むドメイン オブジェクトとreports
、 、addresses
、依存関係などの他のドメイン オブジェクトへの参照があります。最近表示/作成されたオブジェクトのリストを作成しようとしていHeadOfHousehold
ます。Google で何度も検索し、マニュアルを精査した結果、サービスが適切なソリューションであることがわかりました。だから私は作成しましたClientListService
:
@Transactional
class ClientListService {
static scope = "session"
String message // right now I'll be happy to just see the same message across
// pages I can add a list and manipulate it later.
}
その後、さまざまなコントローラーで参照できると思いましたが、次のようなものが持続します。
def clientListService
def index(){
hasSearched = false
clientListService = new ClientListService(message: "Hello")
[errorMessage: params.errorMessage, clients:clientListService]
}
後のコントローラーで利用できるはずです:
class HeadOfHouseHoldController {
def clientListService
def index() {
[customer: HeadOfHousehold.get(params.id), clients: clientListService]
}//...
ただし、メッセージを取得しようとすると、オブジェクトが null のように見えます。私のindex.gspから:
***************${clients?.message}********************
したがって、セッションを適切に定義していないか (そうするために特別なことをしていない)、セッション スコープがどのように機能するかを誤解しているか、または何か他のことをしていないかどうかはわかりません。オブジェクトを定義した元のページに適切なメッセージが表示されますが、後続のページには表示されません。
また、これが適切な方法であるかどうかもわかりません。今、私が本当に必要としているのは、必要なリストHeadOfHouseholds
だけです (他のページからリストに追加できるようにするため)。ただし、他のロジックやアイテムをそのようなクラスに追加する可能性があることがわかります。