0

我有一个来自用于登录的登录页面的操作。现在我想在登录页面的表单下显示一条消息,然后重定向它。但我不知道该怎么做。谁能帮我解决这个问题?这是我的视图页面和控制器如下:

查看>>>

<form id="login_form" controller="login" action="loginAction">
  <table align="center">
    <tr>
      <td align="right">User Name : </td>
      <td><g:textField name="username" id="username" required="true"/></td>
    </tr>
    <tr>
      <td align="right">Password : </td>
      <td> <g:passwordField name="password" id="password" required="true"/></td>
    </tr>
    <tr>
      <td colspan="2" align="right"><input type="submit" value="Log-In"/></td>
    </tr>
  </table>

</form>

控制器动作 >>>

def loginAction = {
    def username = params?.username
    def password = params?.password
    def user = User.findByUsername(username)
    def pass = User.findByPassword(password)
    if(user && pass){
        redirect(controller:"home",action:"home")
    }else{
        redirect(controller:"login",action:"login")
    }
}
4

1 回答 1

1

您可以在 Flash 范围内设置您的消息,例如,

flash.message = message(code: "login.failed")

然后把你的重定向代码

redirect(action: "login", params: [])

在视图中检查 Flash 消息的可用性,

  <g:if test="${flash.message}">
    <div class="message">${flash.message}</div>
  </g:if>

我希望我的问题是正确的,如果我在某个地方错了,请纠正我。

于 2013-04-29T06:19:46.847 回答