Grails:提交后刷新视图

时间:2012-06-10 21:47:03

标签: grails controller

我已经看到了类似问题的各种答案,但不是针对这个具体案例:

我有一个带有几个字段的Grails gsp和一个提交按钮。我想在第一个字段中输入一个值,单击“提交”,然后让控制器将值返回到其余字段(包括原始输入字段)。我想通过简单的页面刷新(没有AJAX)来做到这一点,它不涉及数据库。我有两个相同但名称不同的gsp页面正常工作。我只是调用第一个,输入值,并将提交操作指向第二个。但我希望能够用一个gsp来做到这一点。我的控制器的简化版本如下所示:

class CalculatorController {

    def index = {
    redirect(action: "input")
    }

    def input= {}

    def calculateValues = {

        def inputString = params.enterValue
        def value2 = 'You entered something on the page'
        [field1: inputString, field2: value2]
   }
}

2 个答案:

答案 0 :(得分:0)

如果你只想使用一个gsp,你需要在同一个闭包内部拥有所有逻辑。测试是否传入参数并返回正确的值

答案 1 :(得分:0)

实际上,您不需要在同一个闭包中拥有所有逻辑。只需指定要在calculateValues中使用的视图模板...

def calculateValues = {
  def inputString = params.enterValue
  def value2 = 'You entered something on the page'
  render(view: 'input', model: [field1: inputString, field2: value2])
}

通过使用render方法,您可以让多个控制器操作重用相同的gsp视图。