はじめてのSAStruts 2週目

開発でいっぱいいっぱいで、追いつくどころか全然更新できてませんでしたが。

はじめてのSAStruts 1週目 - 130単位

の続きです。

※2/16追記:コードに一部誤りがあったので修正しました。

1/13~1/16

  • S2JDBCDB2への接続を試す
    • jdbc.diconにてcurrentschemaプロパティの設定が必要
    • S2JDBC-Genの自動生成もいちおう成功
    • ただ最後のSUCCESSFULメッセージが出力されなかった(ファイルはできている)
  • ユーザー情報をセッションに保存 (続き)
    • いろいろ試すものの、丸2日間全然できなかった
      • Dtoクラスをアノテーションセッションスコープにする。これは正しい
      • アクションにpublicプロパティとして設ける。これも正しそう
      • しかし、次に遷移した画面では消えている。こんな状態の堂々巡り
    • しばらくしてBeansの使い方が間違っていることに気づく
user = userService.findUser(id, pass);
userDto = Beans.createAndCopy(UserDto.class, user);

これ↑だとダメ。

Beans.copy(user, userDto);

createAndCopyではなくて、copyするのが正しいっぽい。アクション内で新規作成したオブジェクトを格納したことによって参照が外れた、と拙い知識で理解

user = userService.findUser(id, pass);
userDto.id = user.id;
userDto.name = user.name;

このようにBeansを使わずに書いても問題なかった

原文地址:https://www.cnblogs.com/aggavara/p/2708695.html