在griffon视图中,我有一些基于模型参数构建面板的代码..所以我有..
if (model.stillageType.equals("SNP3")){
// build a panel ..
}
if (model.stillageType.equals("SNP6")){
// build a different panel ..
}
我目前正在尝试通过本地配置文件从mvcGroupInit设置模型 - 我读取文件并设置模型 - 但我的视图似乎已经在此时构建,并且没有显示任何内容。一旦设定值不会改变 - 它不是动态属性。我只是希望能够在不同的PC上加载多个版本,每个版本都显示不同的设计面板。我可以通过对每个发行版进行硬编码来绕过它,但我真的很想从配置文件中加载它。在我的mvcGroupInit例程中我有..
model.stillageType =
connector.properties.get('stillageType')
将加载模型但是我认为视图已经构建并且它没有被应用..无论如何我能做到这一点吗?
谢谢
答案 0 :(得分:0)
这是Griffon 1.5还是Griffon 2.0?在Griffon 1.5中,您可以通过提供构造函数或覆盖mvcGroupInit()
来初始化模型;确保在model
view
之前定义了Config.groovy
成员。在Griffon 2.0中,您还可以使用@PostConstruct
注释一个方法,该方法将在构造函数之后和mvcGroupInit()
方法之前调用。
同样,makig确保在model
(默认值)之前定义view
将确保在model.mvcGroupInit()
初始化之前调用view
。
答案 1 :(得分:0)
我正在使用Griffon 1.5 ..我更改了此mvcGroup的Config.groovy文件,以创建模型,控制器,视图而不是模型,视图,控制器。我假设这允许mvcGroupInit例程在构建视图之前正确初始化我的模型 - 允许视图获取我的模型的修改版本..现在工作正常..