在grails中的条件中显示消息

时间:2013-04-29 06:01:35

标签: grails

我在登录页面上有一个用于登录的操作。现在我想在登录页面的表单下显示一条消息,然后重定向它。但我不知道该怎么做。有人可以帮我这个吗?这是我的视图页面和控制器,如下所示:

查看>>>

<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>

控制器操作&gt;&gt;&gt;

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")
    }
}

1 个答案:

答案 0 :(得分: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>

我希望我的问题是正确的,如果我错了,请纠正我。