如何使用play框架向用户显示用户帐户更新信息?

时间:2013-09-18 10:55:50

标签: java scala playframework playframework-2.0 playframework-2.1

我在做什么,当用户登录并且菜单edit account中有一个部分,当用户点击该链接编辑信息时,将打开新页面并获取表单以更新信息并在保存更新后信息将保存在数据库中,但保存后直接返回主页,我想向用户显示您的帐户已更新的消息

查看部分是:

enter image description here

用户编辑视图部分是:

enter image description here

控制器部分是:

当用户点击edit user链接

public static Result upd(Long id) {
  Form<User> u = Form.form(User.class).bindFromRequest();
  if (u.hasErrors()) {
    return badRequest(editu.render(id, u));
  } else {
    u.get().update(id);
    User user = u.get();
    return ok(info.render(user));
  }
}

查看主页info.scala.html的编码部分是:

<div class="container-narrow">
  <div class="masthead">
    <ul class="nav nav-pills pull-right">
      <li><a href="@routes.signin.ed(user.id)">edit User</a></li>
      <li><a href="@routes.signin.logou">Logout</a></li>
    </ul>
    <h3 class="muted">
      welcome <b>@user.getEmail()</b>
    </h3>
  </div>
<hr/>

我尝试了什么:

查看主页的一部分

<div class="container-narrow">
  <div class="masthead">
    <ul class="nav nav-pills pull-right">
      <li><a href="@routes.signin.ed(user.id)">edit User</a></li>
      <li><a href="@routes.signin.logou">Logout</a></li>
    </ul>
    <h3 class="muted">
       welcome <b>@user.getEmail()</b>
    </h3>
  </div>
  <hr></hr>
  <div>
    @flash.map {
      case (key, value) => {
        <p class="error">
          <span ><b>@value</b></span>
        </p>
      }
    }
  </div>

控制器部分

public static Result upd(Long id) {
  Form<User> u = Form.form(User.class).bindFromRequest();

  if (u.hasErrors()) {
    return badRequest(editu.render(id, u));
  } else {
    u.get().update(id);
    User user = u.get();
    flash("success", Messages.get("your account has been updated"));
    return ok(info.render(user));
  }
}

让我知道如何向用户显示有关更新的信息。

1 个答案:

答案 0 :(得分:0)

我不使用Java with Play,但在Scala我使用Redirect来处理此类情况。所以在我看来它可能是这样的:

....
 flash("success", Messages.get("your account has been updated"));
 return redirect ok(info.render(user));