Struts2中select標籤選項後臺傳值
阿新 • • 發佈:2019-01-22
多表關係通過外來鍵關聯時,常會使用id表示物件之間的關係,而在顯示時卻常常要顯示物件的名稱,如果每次用到都要從資料庫中查詢似乎很耗費資源,那麼我們可以id,name
組織成map集合,很適合在前端顯示。
具體做法:
1.DAO
public Map<Integer, String> findOwners()
{
Map<Integer, String> map = new HashMap<Integer, String>();
Connection conn = C3p0Util.getConnection();
String sql = "select id,name from owner";
ResultSet rs = null;
Statement stmt = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()){
Integer key = rs.getInt("id");
String value = rs.getString("name");
map.put(key, value);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return map;
}
2.ACTION:
private Map<Integer, String> map = null;
map = od.findOwners();
session.setAttribute("ow", map);
3.JSP
<s:select name="owner_id" list="#session.ow" listKey="key" listValue="value" label="主人"></s:select>
這樣便實現了在選擇框中顯示人名,選擇框向後臺傳的時人的id。