使用变量参数调用Grails动态方法

时间:2011-09-21 07:22:02

标签: grails

在Grails控制器中: 如何调用Domain.findByName(params.name)而非Domain.findByName("X")等动态方法?

1 个答案:

答案 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}."])
           }

       }

   }

}

快乐的编码!