簡體   English   中英

如果在grails 2.2.4中調用私有方法后更改了對象參數,則不會分配值

[英]Values are not assigned if object parameters are changed after private method call in grails 2.2.4

我有一個調用私有方法的方法。 此方法返回模型。 一旦返回,我將更改一些對象值並進行渲染。 在jsp上,當我打印“ message”的值時,我沒有得到該值。 這是代碼

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中會發生這種情況

在以下設置擊中index操作的情況下,此操作按2.2.4中的預期進行。 這是您設置的方式嗎?

//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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM