私のアプリは、実行時に複数の顧客をサポートする必要があります。それらはすべて、同じコントローラー、サービスを使用して同じデータを表示しますが、レイアウト、CSS、および画像が異なります。
私の基本的な考え方は次のとおりです。
1) セッションで構成値を認証および設定するためのフィルターを用意する 2) 私のコントローラー コードは次の行に沿って何かを呼び出します: render(view:"/${session.userContext}/test/test")
したがって、customer1 については、views/customer1/test/test.gsp をレンダリングします。
理想的には、すべてのカスタム ビューとレイアウトを /views/customer1/ ディレクトリに置きたいのですが、サイト メッシュは /views/layouts ディレクトリでレイアウトを探しますが、これを回避する方法が見つかりません。この意味で、必要なレベルの分離が得られないため、ソリューションは少し不格好です。
理想的なのは、実行時に grails render メソッドのルートを設定できる場合です。たとえば、ビューから開始する代わりに、views/customer1 を見てください。これを行う方法はわかりませんが、彼は最も賢いソリューションのようです。
どんな助けでも大歓迎です。
乾杯、
ガブ