如果在 grails 2.2.4 中的私有方法调用后更改了对象参数,则不会分配值



我有一个调用私有方法的方法。此方法返回模型。返回后,我更改一些对象值并呈现它。在jsp上,当我打印"消息"的值时,我没有得到该值。这是代码

def model = myMeth();
model.objkey.message = 'check message'
render(view: "index", model: model)

私有方法

private def myMeth() {
.....
    [objkey: objvalue]
}

&GSP

<div class="message">${objkey?.message}</div>

但是,如果我在返回之前在私有方法中向消息添加值,那么它的值将打印在 gsp 上。

这是以 gsp 为单位打印值的私有方法

private def myMeth() {
    .....
  objvalue.message = 'check message'
  [objkey: objvalue]
}

这曾经在 grails 1.3.7 中运行良好,但为什么在 grails 2.2.4 中会发生这种情况

这在 2.2.4 中按预期工作,以下设置命中index操作。这是您的设置方式吗?

//controller
def index(){
    def model = myMethod()
    model.objectKey.message = 'check message'
    render view: "index", model: model
}
private def myMethod(){
    def objectVal = [:]
    [objectKey: objectVal]
}
//grails-app/views/<controllerName>/index.gsp
<div>${objectKey?.message}</div> //renders appropriate message

相关内容

  • 没有找到相关文章

最新更新