我在struts2中創建了一個表格&用於編輯用戶記錄,用戶可以有一個或多個角色,我有一個表單是多選框用於選擇給定用戶的角色。選擇框的內容是從數據庫中讀取的,我希望選擇框在加載表單時預先選擇用戶當前的選項,使用在線找到的示例我有以下幾點。Struts2多選框預選當前選項
在我的動作類
public List<Role> getRoles()
{
return roles;
}
public void setRoles(List<Role> roles)
{
this.roles = roles;
}
public List<Role> getAvailableRoles()
{
return availableRoles;
}
在我的JSP
<s:select list="availableRoles" listKey="id" listValue="name" name="roles" label="Roles" multiple="true" />
的多選框創建精細然而,沒有項目被選中開始和我有點困惑,因爲每一個例子我已經找到了這一點。
我曾嘗試改變選擇框,只是這樣的:
<s:select list="availableRoles" name="roles" label="Roles" multiple="true" />
這樣就成功地預選擇的選項然而然後在下拉填充了無論是從對toString()方法返回我的角色類不是特定的getId()和getName()方法,這是我想要的。任何想法,我錯了?
這並不能解決我的問題,因爲我希望listKey和listValue不同。 – 3urdoch 2010-11-11 16:07:25
我的答案允許您爲listkey和listvalue使用不同的值。但是getRoles()和setRoles()需要與你的listkey類型相同。 – Tarski 2010-11-12 11:02:09