ユーザーが JSF のドロップダウン リストからコレクションのアイテムを選択できるようにしようとしています。これは私が使用しているコードです:
<f:view>
<h:form id="insert">
<h:selectOneMenu value="#{MyBean.user}">
<f:selectItems value="#{MyBean.userList}" var="currentUser" itemValue="#{currentUser.username}" itemLabel="#{currentUser.username}"/>
</h:selectOneMenu>
<h:commandButton value="Insert" action="#{AuctionBean.insertItem}"/><br>
</h:form>
</f:view>
これは MyBean のコードです。
@ManagedBean
public class MyBean{
private String user;
private Collection<User> userList;
@PostConstruct
public void init() {
this.userList = UserRepository.getInstance().findAllUsers();
}
...
public String insertItem() {
System.out.println("The selected user is " + this.user);
...
return ("successfulInsertion");
}
...
}
そして、必要に応じて、ユーザーのゲッターとセッター:
public String getUser() {
return this.user;
}
public void setUser(String user) {
this.user = user;
}
私の問題は、「選択されたユーザーは」と表示されたときに、user.toString() ではなく、userList.toString()! と書かれていることです。正しく設定されていないselectOneMenuのようなものですが、私はそれについてたくさん検索しました。誰でも助けることができますか?ありがとう、AN