在格里芬,我可以配置'使用外部配置文件的视图?

时间:2015-03-20 15:17:38

标签: groovy griffon

在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')

将加载模型但是我认为视图已经构建并且它没有被应用..无论如何我能做到这一点吗?

谢谢

2 个答案:

答案 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例程在构建视图之前正确初始化我的模型 - 允许视图获取我的模型的修改版本..现在工作正常..