gpt4 book ai didi

grails - grails 2.0 vs 1.3.7,flash.message和gsps的工作方式

转载 作者:行者123 更新时间:2023-12-02 14:46:47 25 4
gpt4 key购买 nike

在Grails 1.3.7中,默认 Controller 将为域类的save操作中的Flash消息显示生成如下代码(请注意分配的开始,即“$ {):

 flash.message = "${message(code: 'default.created.message', args: [message(code: 'issue.label', default: 'Issue'), issueInstance.id])}"

在Grails 2.0中,将其更改为
 flash.message = message(code: 'default.created.message', args: [message(code: 'issue.label', default: 'Issue'), issueInstance.id])

我们可以注意到的区别是作业的开始。在1.3.7中,很显然在“gsp编译时/运行时?”处传递了一个字符串以在gsp内部进行求值。看来Grails 2.0中不再需要此功能。这是由于Groovy功能的更改/改进吗?简而言之,我试图了解Grails的不同之处,即不再需要传递在GSP内部进行评估的消息,并且通常可以在其中利用Grails 2.0的这种差异/变化。

谢谢,雷

最佳答案

我认为第二种方法(Grails 2.0)比较干净。由于这两种选择实际上都评估同一个String,因此在GString中评估的第一个似乎没有任何值。它是GString的事实意味着它将进行额外的表达式($ {...})处理(因此会稍慢一些),而Grails 2.0版本直接进入了消息标签库。

不知道为什么它最初是用第一种方法完成的...顺便说一句,我不认为GString内部的代码是在GSP处理过程中评估的-它是在将GString分配给 Controller 中的flash.message时评估的(与Grails 2.0版本相同)...

关于grails - grails 2.0 vs 1.3.7,flash.message和gsps的工作方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com