【发布时间】:2011-04-18 04:08:32
【问题描述】:
我正在使用 GSP 来发送基于 MailService 插件的电子邮件。 sendMail 关闭通过(其中包括)body(view:..., model:myModel)
我知道我可以在 GSP 中使用 ${itemName} 访问 myModel Map 的每个项目。但是,由于我有时想像'item'+i 那样动态构建项目名称,因此我需要一些周边方法来访问该变量。
我已经尝试过${model.get('item'+i) 和${params.get('item'+i),但模型为空且参数为空地图。我也试过 pageScope,虽然我可以通过${pageScope.itemName 访问一个项目,但我不能使用${pageScope.get('item'+i)},因为 pageScope 不是 Map。
可能有多种解决方案可以解决这个问题;我会很高兴有一个简单的;-)。我看到的一种解决方案是将 myModel 作为唯一参数传递,然后始终使用 myModel.get(...),但这意味着我必须更改所有现有 GSP 以始终引用 myModel 而不是直接访问项目(具有固定名称);所以如果有一种方法我不必更改传递给 GSP 的模型,这将是我的最爱。
如果有人也可以在这种情况下对模型和参数的区别说几句话,这将另外有帮助!
【问题讨论】:
标签: grails model map params gsp