0

私がしていることは、ユーザーがログインしてメニューにセクションがedit accountあり、ユーザーがそのリンクをクリックして情報を編集すると、新しいページが開き、情報を更新するためのフォームが表示され、更新された情報を保存した後、データベースに保存されますが、保存してホームページに戻り、アカウントが更新されたというメッセージをユーザーに表示したい

ビュー部分は次のとおりです。

ここに画像の説明を入力

ユーザー編集ビューの部分は次のとおりです。

ここに画像の説明を入力

コントローラー部分は次のとおりです。

ユーザーが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));
  }
}

更新に関する情報をユーザーに表示するアイデアを教えてください。

4

1 に答える 1

0

は使用しませんJava with Playが、そのような場合Scalaに使用Redirectします。だから、それは次のようになるかもしれないと私には思えます:

....
 flash("success", Messages.get("your account has been updated"));
 return redirect ok(info.render(user));
于 2013-09-19T09:19:02.590 に答える