簡體   English   中英

grails命令對象和帶有前綴的字段

[英]grails command object and fields with prefixes



我正在使用grails 1.3.7,情況就是這樣...
具有巨大的形式,其字段帶有幾個不同的前綴 (后來用於數據綁定),並試圖通過命令對象進行驗證...但是,前綴中使用的可愛的DOT給我帶來了麻煩,並且無法正確映射名稱在命令對象中...有什么建議嗎?

表單中的字段像這樣的字段:

<input name="dealer.name" value="${dealer.name}" type="text"> 

對於命令對象:

class somethingCommand {
    String name
    Map dealer = [:]
    static constraints = {
        dealer validator: {
            val, obj ->
            obj.properties["name"] != ""
        }
    }
}

如果...。我們以另一種方式看待它並在傳遞給命令對象之前映射參數...我應該如何在不使用grails magic的情況下將參數傳遞給命令對象?!?!?!

n

支持帶有命令對象前綴的數據綁定屬性:

對於命令:

class DealerCommand {
    String name
    Map dealer = [:]
}

名為“ name”,“ dealer”,“ dealer.name”和“ dealer.dealer”的屬性將正確綁定到命令對象。

http://grails.org/doc/2.3.x/guide/single.html#commandObjects

您可以通過以下方式在控制器中獲取“經銷商”地圖

def dealerMap = params["dealer"]

然后手動創建經銷商命令,將地圖內容綁定到該命令。

def dealerCommand = new DealerCommand() 
bindData(dealerCommand , dealerMap)

然后您可以像平常一樣使用命令對象的驗證

暫無
暫無

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

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