我正在使用GSP发送基于MailService插件的电子邮件.sendMail关闭传递(以及其他)body(view:..., model:myModel)
我知道我只能${itemName}
在GSP中使用myModel Map的每个项目.但是,由于我有时想动态地构建项目名称'item'+i
,我需要有一些周围的方法来访问变量.
我已经尝试了${model.get('item'+i)
,${params.get('item'+i)
但是,模型为null,params是一个空的Map.我也试过了pageScope,但是虽然我可以访问一个项目,但我${pageScope.itemName
无法使用,${pageScope.get('item'+i)}
因为pageScope不是Map.
可能有多种解决方案可以解决这个问题; 我很高兴一个简单的;-).我看到的一个解决方案是将myModel作为唯一参数传递,然后始终使用myModel.get(...)
,但这意味着我必须更改所有现有的GSP以始终引用myModel而不是直接访问项目(具有固定名称); 所以如果有一种方法我不必改变传递给GSP的模型,这将是我的最爱.
如果有人也可以在这种情况下对模型和参数的区别说几句话,那么这将是另外有用的!
我现在用它来管理它${pageScope.getProperty(...)}
.