我無法從SelectOneMenu中獲取所選項目。我向菜單提供一個ArrayList,並希望用戶選擇其中一個。我把菜單放在一個表單中,所以我有一個我打算用來執行選擇的commandButton。這個實現給了我這個錯誤:當我從菜單「user3」中選擇時,不能將類java.lang.String類型的user3轉換爲類java.util.ArrayList,所以它實際上正確地執行了選擇。該錯誤是指這條線JSF SelectOneMenu所選項目
<h:selectOneMenu value="#{user.myUsers}"
這裏是我的XHTML產生的selectOneMenu用於的一部分。
<h:panelGrid columns="3">
<h:form>
<h:selectOneMenu value="#{user.myUsers}">
<f:selectItems value="#{user.myUsers }"/>
</h:selectOneMenu>
<h:commandButton value="#{msgs.remove_user}" action="#{user.select }" ></h:commandButton>
</h:form>
<h:outputText value="#{ user.select}"></h:outputText>
</h:panelGrid>
這裏是我的UserBean:
@ManagedBean(name="user")
@SessionScoped
public class UserBean implements Serializable {
private String selected;
public ArrayList<String> getMyUsers()throws Exception
{
ArrayList<String> ret;
MySQLConnection conn = new MySQLConnection();
try{
ret = conn.getMyUsers(name);
}finally
{
conn.closeConnection();
}
return ret;
}
public String getSelect() throws Exception
{
if (this.selected==null) return this.getMyUsers().get(0);
return this.selected;
}
public void setSelect(String s)
{
this.selected = s;
}
}
Psssh ..把你的鼠標在上面的'[selectonemenu]'你自己放在問題上的標籤,直到出現黑匣子,然後點擊* info *鏈接。 – BalusC
Omg,謝謝,我從來沒有注意到這樣一個有用的選項! – gaffcz