ブートストラップはあなたの友達ではないことも指摘したように、あなたの要件に基づいています。画面用のビューとコントローラー、および外部システムへの接続ロジック用のサービスが必要です。また、アプリケーションまたはセッションのスコープ内での通信のサニティ チェックのためのフラグまたはメソッドも必要です。次に、フィルターを作成し、接続があるかどうかを確認することをお勧めします。そうでない場合は、接続するコントローラーにリダイレクトします。須藤:
class ConnectionFilters {
def filters = {
loginCheck(controller: '*', action: '*') {
before = {
if (!session.connection ) {
redirect(controller:'connection',action: 'connect')
return false
}
}
}
}
}
class controller {
def connectionService
def connect (){
try {
connectionService.connectTo('systemx')
connectionService.connectTo('systemy')
connectionService.connectTo('systemz')
}
catch(e){
session.connection = false
redirect view:'error'
}
session.connection = true
}
}
class ConnectionService {
def connectTo(systemname){
....
}
}