2013-06-19 55 views
0

我一直在想如何将以前的gsp页面list.gsp的值传递给我的其他gsp页面confirm.gsp。我试图从list.gspconfirm.gsp的所有值都从list.gsp通过相同的确切样式,而不仅仅是基于文本的所有值,而不是下拉菜单以及其他信息,稍后我会通过。这是我的代码值传递给confirm.gsp将信息传递给另一个GSP

forward(action: actionName, params: params) 

我使用forward这些值传递给我的控制器内的另一个具体的处理功能,并通过基于某些事件的参数actionName也把它发送到confirm.gsp。现在,当我传入值时,只会产生一个空白页面,但我知道这些值正在传递,因为我在该页面的处理函数中看到了它们。有没有更好的方法来做到这一点,或者我错过了什么来完成这项工作?

编辑:这是在控制器的参数转发到我的其他功能的控制器动作:

if(testDBCheckArray != null){ 
     actionName = "confirm" 
    } 

这里是另一个函数,将处理数据:

def confirm = { 
    def term_id = params.term_id 
    println("This works: " + params) 
    } 
+0

你”我们需要向我们展示处理初始请求的控制器动作,然后将该请求转发给您的confirm.gsp。 – Gregg

+0

你走了,这就是我处理它,并发送参数。 – user2502287

回答

0

相反从控制器执行forward,您可以在同一行使用render(view:"confirm")。您在params地图中的数据将在confirm.gsp页面中提供。

+0

这仍然只显示一个空白页面。我目前没有样式或我的'confirm.gsp'上的任何代码,所以它不应该干涉任何事情。 – user2502287

+0

你应该在你的confirm.gsp页面中写一些代码。如果您想在confirm.gsp中重复使用list.gsp中gsp代码的一部分,请将其作为模板并使用标记进行渲染。 – ashipj

+0

您也可以将标志作为参数传递给标签以在“下拉”和“文本区域”之间切换。 – ashipj

0

如何使用redirect

redirect(action: "actionName", params: params) 

或者使用chain

chain(action: "actionName", model: [book: shawshankRedemption]) 

如果您要发送更复杂的数据,命令对象,等等。这一个是有用的