質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • Spring

    714questions

    Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

  • Struts 2

    138questions

    Apache Struts 2は、Apache Strutsプロジェクトにて開発されているオープンソースのJavaベースのWebアプリケーションフレームワークです。Sturts1に比べ、設定ファイルの削減、依存性の注入、POJO等の改善がなされています。

SpringのAutowiredをListで使うことはできますか?

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 876

yamamoto020316

score 21

FormHoge.java
@Component
public class FormHoge{
  private String id;
  private String name;
}


HogeAction.java
@Autowired
private List<FormHoge> formHoge;


上記の様なリストのAutowiredは、どうすれば良いのでしょうか?
この場合、リストの一番目の要素しか、メソッドを跨いで保持できません。

@Action("load")
public String load() {
    return "load"
}
@Action("next1")
public String next1() {
    System.out.println(formHoge.size());・・・(1)
    return "next";
}
@Action("next2")
public String next2() {
    System.out.println(formHoge.size());・・・(2)
    return "load";
}

(1)の値は、「3」// 入力画面で入力した「formHoge」の数
(2)の値は、「1」

(2)でも、(1)の値のまま入力情報を保持し続けたいです。

初歩的な質問ではありますが、返答よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

Struts2のActionクラスで入力値を保持したままとするのは、Springの@Autowiredの役割ではなく、一般的にはセッションの役割です。
もしStruts2とSpringを組み合わせているフレームワークでしたら、そのフレームワーク内で独自実装している内容+設定にも依存するところですが、セッション属性であればStruts2のみで適用をするか、対象のbeanのスコープをSpringMVCの@Scopeでsession属性にするかどうかです。

Struts2のみで実現する場合は、以下の2つで可能です。

  • ActionクラスにSessionAwareインタフェースを導入(implements)する
  • インタフェースを実装するので以下のメソッドとフィールドを実装する
private Map<String, Object> session;

public void setSession(Map<String, Object) session) { 
   this.session = session;
}

このメンバ変数 session はサーブレットのHttpSessionと全く同じスコープで、情報の授受はHttpSessionよりも楽になります。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/24 09:16

    回答ありがとうございます。
    とても参考になります。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    java arraysクラスの書き換え

    java初心者です。 文字列の配列のプログラムを作成しました。 指定された色の名前を入れると○か×かが表示される以下のプログラムを作成したのですが、arraysクラスを使わないプロ

  • 解決済

    javaの繰り返しに関する問題です

    java初心者です。 forの繰り返しについての質問です。

  • 解決済

    最大文字(zに最も近い文字)と最小文字(aに最も近い 文字)を出力するプログラム

    samplesystem、最大文字(zに最も近い文字)と最小文字(aに最も近い 文字)を出力するプログラムを作成する。ただし、最大文字検出はfor文で、最小文字検出はwhile文で

  • 解決済

    単語ごとの出現回数を出現順に表示するには、HashMapとArrayListが必要か

    単語ごとの出現回数を出現順に表示するには、HashMapとArryaListが必要でしょうか。 下記の例よりももっとスマートかつコード量が少なく使用するメモリの量が少ない方法がある

  • 解決済

    java でしりとり

    java でひとりで遊べるしりとりを作りたいと思っているのですが コンピューターが自動的に返事してくれるようなものを作りたいと考えているのですが なにか参考になるようなサイトがあれ

  • 解決済

    listの参照があいまいです

    この前質問させていただいたときに回答して下さった方のソースをコンパイルしてみたんですが(いらないimportまで書いてると思いますが気にしないでください)listの参照があいまいで

  • 解決済

    しりとり

    ---んが入力されたら終わらしたいのですが できなくて困ってます String tmp = getLast(word); if (tmp.equals("ん")) {   .. }

  • 解決済

    Javaで文字列の中の特定の文字列を削除したいです。

    Java初心者です。 Javaで、文字列の中で特定の文字列を削除したいのですがやり方がわかりません。 例えば A + B C + D123 E + FFFF など式があるとして

同じタグがついた質問を見る

  • Spring

    714questions

    Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

  • Struts 2

    138questions

    Apache Struts 2は、Apache Strutsプロジェクトにて開発されているオープンソースのJavaベースのWebアプリケーションフレームワークです。Sturts1に比べ、設定ファイルの削減、依存性の注入、POJO等の改善がなされています。