1. 程式人生 > >Struts2中select標籤選項後臺傳值

Struts2中select標籤選項後臺傳值

       多表關係通過外來鍵關聯時,常會使用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。