0

Struts2+Hibernate を使用しています。JSP ページにフォームがあり、そこには Database から入力する必要がある選択あります。DAO クラス BookDAO (selectBooks()、updateBook(Book book)) を実装しました。Book の ArrayList とクラス BookDAO のオブジェクトを宣言した Action クラスを作成しました。selectBooks を呼び出して ArrayList に入力する Action クラスで関数を定義する必要があるようですが、このアクションは JSP ページの読み込み時に自動的に呼び出される必要があります。私の場合、Ajaxは必要ですか? ありがとうございました。

4

2 に答える 2

1

JB Nizet の答えは良いですが、少し異なるアプローチをお勧めします。

execute メソッドに ArrayList 割り当てを配置することの問題は、その特定のメソッドに対してのみ機能し、他のアクション メソッドが追加された場合に再作成する必要があることです。

アクションを準備可能にし、準備メソッドを追加して、すべてのデータベース呼び出しとリストの割り当てを行う方がよいでしょう。このようにして、途中でコードを複製することなく、アクション クラス全体ですべてのデータを使用できます。

prepare メソッドは、アクション内の他のメソッドよりも前に最初に呼び出されます。

public class MyAction extends ActionSupport implements Preparable{

    private ArrayList<Books> books;

    @Override
    public void prepare() throws Exception {
        this.books = bookDAO.selectBooks(); 
    }

    ...

}
于 2012-07-25T13:25:06.790 に答える
0

いいえ、AJAX は必要ありません。アクション メソッドのコードで、リストを初期化します。

public String execute() {
    this.books = bookDAO.selectBooks(); 
    return SUCCESS;
}

これにより、JSP ページは書籍のリストにアクセスできるようになります。

于 2012-07-25T11:51:46.627 に答える