1

私は JSF の初心者であり、次のシナリオで最も洗練されたソリューションを
見つけようとしています: UserMB と呼ばれるユーザー管理 Bean があるとします。

@ManagedBean
public class UserMB {

private User user;
private List<User> users;

// getters and setters here

public void addUser(User user){
    // do add user logic here
}


public List<User> listAllUsers(){
    // do list All users logic here
}


@PostConstruct
private void init(){

    // populate List<user> users - for the listAllUsers scenario

    }   
}

listAllUsers() メソッドに直接送信するフォームがなく、ページ list-all-users.xhtml を開いたときにすべてのユーザーを表示したいとします。addUser.xhtml からマネージド Bean をヒットすると、DB に対してクエリが実行され、すべてのユーザーがロードされます。これは、Bean が listAllUsers() メソッドまたは addUser() メソッドを使用するかどうかを認識できないためです。
この機能を 2 つのマネージド Bean に分割する必要がありますか?

その場合、「ユーザー」ビジネスを処理するためにいくつかのマネージド Bean を作成する必要があるためです (つまり、Struts2 では、すべてのユーザー インタラクションを処理する 1 つのアクションしかありません)。
PSゲッターメソッドでリストにデータを入力する解決策があることは知っていますが、これを行わないようにアドバイスするBalusCの記事を読みました...

4

1 に答える 1