我已经看到了类似问题的各种答案,但不是针对这个具体案例:
我有一个带有几个字段的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]
}
}
答案 0 :(得分:0)
答案 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视图。