实体:
package com.ars.mybatis.car_book.entity;public class CarBrand { private static final long serialVersionUID = 1L;

/**
*厂牌ID
*/
private int brand_id;
public int getBrand_id() {
return brand_id;
}
public void setBrand_id(int brandId) {
brand_id = brandId;
}

/**
*厂牌名称
*/
private String brand_name;
public String getBrand_name() {
return brand_name;
}
public void setBrand_name(String brandName) {
brand_name = brandName;
}
}Action:
package com.ars.struts.car_book.action;import java.util.List;import com.ars.mybatis.car_book.entity.CarBrand;public class CbAction {

private static final long serialVersionUID = 1L;

private List<CarBrand> carbrands;
public List<CarBrand> getCarbrands() {
return carbrands;
}
public void setCarbrands(List<CarBrand> carbrands) {
this.carbrands = carbrands;
} /**
* 绑定厂牌
* @return String 
* @exception Exception
*/
public String cbManage() throws Exception {
return "success";
}


}jsp:
<%@ page contentType="text/html;charset=GBK"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <s:form action="cbManage" namespace="/cb" id="form1">
      <div>
      <s:select list="carbrands" 
        listValue="brand_name" 
        listKey="brand_id" 
        name="carbrand" 
        id="carbrand"
                headerKey="-l" 
                headerValue="厂牌"
             ></s:select>  
      </div>
</s:form>
  </body>
</html>报错说:tag 'select', field 'list', name 'carbrand': The requested list key 'carbrands' could not be resolved as a collection/array/map/enumeration/iterator type.

解决方案 »

  1.   

    carbrands变量没有实例化。
    确保先set后执行Action,
    或者,这样改 private List<CarBrand> carbrands = new ArrayList<CarBrand>();
      

  2.   

    谁有struts2的数据库绑定select的例子吗
      

  3.   


    出版社:<s:select name="book.chuBanShe.id" id="book.chuBanShe.id" list="chsList" listKey="id" listValue="name" headerKey="-1" headerValue="请选择爱好"></s:select><br />
    作者:<s:select name="book.author.id" id="book.author.id" list="authorList" listKey="id" listValue="name" headerKey="-1" headerValue="请选择爱好"></s:select><br />
    我的实体类public class Book implements Serializable { /**
     * 
     */
    private static final long serialVersionUID = 1L; private long id;

    private String name;

    private double price;

    private ChuBanShe chuBanShe;

    private Author author; public Author getAuthor() {
    return author;
    } public void setAuthor(Author author) {
    this.author = author;
    } public ChuBanShe getChuBanShe() {
    return chuBanShe;
    } public void setChuBanShe(ChuBanShe chuBanShe) {
    this.chuBanShe = chuBanShe;
    } public long getId() {
    return id;
    } public void setId(long id) {
    this.id = id;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    } public double getPrice() {
    return price;
    } public void setPrice(double price) {
    this.price = price;
    }

    }public class Author implements Serializable { /**
     * 
     */
    private static final long serialVersionUID = 1L;

    private long id;

    private String name;

    private String miaoShu; public long getId() {
    return id;
    } public void setId(long id) {
    this.id = id;
    } public String getMiaoShu() {
    return miaoShu;
    } public void setMiaoShu(String miaoShu) {
    this.miaoShu = miaoShu;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    }

    }public class ChuBanShe implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 1L; private long id ;

    private String name;

    private String pic ;

    private String date; public String getDate() {
    return date;
    } public void setDate(String date) {
    this.date = date;
    } public long getId() {
    return id;
    } public void setId(long id) {
    this.id = id;
    } public String getPic() {
    return pic;
    } public void setPic(String pic) {
    this.pic = pic;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    }
    }
      

  4.   

    你是不是想动态的显示可供选择的值,也就是说carbrands有多少个就列出多少个提供选择?
    如何是的话,新建一个Action,ListAllCarbrandAction,把所有的carbrand找出来,放在list里面,然后传到页面上去;
    Map request =(Map) ActionContext.getContext().get("request");
     request.put("list", service.findAll());
    jsp页面上 <s:select list="#request.list" ...