0

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

这些是我的代码:

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
    {

    }
 }

所以发生的事情是,当页面加载时,它会自动重定向回 l​​istuser 页面。这实际上是一个 edituser 页面,我希望它一直留在那里,直到用户单击一个按钮。然后重定向到listuser。有什么想法吗?

4

2 回答 2

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> 
于 2012-12-14T07:36:28.013 回答
0

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

redirect (action: listUser)

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

[Query1:Query1]

将使用传递的此参数呈现 editUser.gsp。

于 2012-12-14T08:05:53.057 回答