从一开始就防止重定向

时间:2012-12-14 07:27:01

标签: grails redirect controller gsp

首次加载时,我在页面上遇到了一些自动重定向。

这些是我的代码:

def editUser = {
    if(params.account_expired != null )
    {
    String updateQuery = "UPDATE user SET expired='"+params.account_expired+"'"


    def update = sql.executeUpdate(updateQuery)
    redirect (action: listUser)
    [update:update]


    }

    else
    {

    }
 }

所以会发生什么,当页面加载时,它会自动重定向回listuser页面。这实际上是一个edituser页面,我希望它保持在那里,直到用户点击一个按钮。然后重定向到listuser。任何想法的人?

2 个答案:

答案 0 :(得分:0)

通常使用POST方法发送更新,并使用GET显示表单(由W3C建议,默认情况下在Grails中使用)。所以你可以使用:

def editUser = {
  if (request.method == 'GET') {
     render(view: 'editUser')
  } else if (request.method == 'POST') {
     //.... current code
  }
}

默认情况下,当您使用<g:form标记时,Grails会创建POST表单,但如果您使用纯HTML标记,则应将POST方法指定为:

<form method="POST">

</form> 

答案 1 :(得分:0)

这正是你的代码应该做的,因为你执行了这个:

redirect (action: listUser)

如果您希望它保留在editUser页面中,则应将其删除。然后

[Query1:Query1]

将传递editUser.gsp并传递此参数。