0

我已经看到了类似问题的各种答案,但不适用于这种特定情况:

我有一个带有多个字段和一个提交按钮的 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]
   }
}
4

2 回答 2

0

如果您只想使用一个 gsp,则需要在同一个闭包中包含所有逻辑。测试参数是否传入并返回正确的 val

于 2012-06-11T03:18:43.823 回答
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 视图。

于 2012-06-14T16:34:08.613 回答