在Grails控制器中:
如何调用Domain.findByName(params.name)
而非Domain.findByName("X")
等动态方法?
答案 0 :(得分:1)
查看一些Grails Turorials,更具体地说,格式化标签的工作方式here!您需要了解MVC模型的基本流程如何才能享受Grails的强大功能!花一些时间来学习这个,或者你只是迷茫和沮丧。
在您的示例中,params.name
通常会使用输入标记g:textField填写表单帖子。
如果你想查看包含特定控制器调用的params对象的值,你可以做类似......
class IceCreamController{
def eatMoreIceCream = {
println("the params are ${params}"); //<-- prints a Map of the values to the stdout
if (!params.name){
redirect(action:"showError",params:[message:"You have no name!"])
}else{
def iceCream = IceCream.findByName(params.name)
if (iceCream){
redirect(action:"showIceCream",params:[id:iceCream.id])
}else{
redirect(action:"showError",params:[message:"no ice cream for name ${params.name}."])
}
}
}
}
快乐的编码!