快速查看引导程序的init()完成后是否可以运行代码块?
这是最好的方式吗?
我有一些我需要连接的外部系统,我希望在此块完成时显示一个'索引'页面,说“连接到子系统”或类似的东西,然后一旦完成,应用程序正常工作。
我是否正确地认为你无法访问页面直到引导后?在此服务运行时,是否有一种简单的方法可以限制人们访问系统的其他部分?这看起来可行吗?
为任何帮助干杯!
答案 0 :(得分:1)
根据您的要求,您也指出bootstrap不是您的朋友。您需要一个用于屏幕的视图和控制器,以及一个用于连接外部系统逻辑的服务。您还需要一个标志或方法,以便在应用程序或会话范围内对通信进行健全性检查。然后我建议创建一个过滤器并检查是否有连接,如果没有将它们重定向到将连接它的控制器。 须藤:
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){
....
}
}