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