在Grails本地化插件documentation中,它说:
为了四处走动以使用war重新加载所有消息更新,我在BootStrap.groovy
中使用以下代码。
import org.grails.plugins.localization.Localization
class BootStrap {
def init = { servletContext ->
Localization.reload()
}
}
此代码确实对我有帮助,无论何时将应用程序部署到Tomcat服务器,都将应用消息更新。但是,随着部署越来越多的发行版,本地化表的ID号会自动增加。
因此,我尝试在代码中使用“截断表”来解决此问题。在
BootStrap.groovy
中:import org.grails.plugins.localization.Localization
class BootStrap {
def sessionFactory
def init = { servletContext ->
sessionFactory.getCurrentSession().createSQLQuery('truncate table localization').executeUpdate()
Localization.load()
}
}
使用此代码会导致
run-app
失败,因为有时truncate table
会在加载过程的中间发生,而不是在加载之前! 最佳答案
您是否尝试将其作为线程执行并强制等待该过程结束?
关于grails - 如何使用Grails本地化插件在message.properties中重新加载消息更新?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29375913/