怎么从jsp页面中取action中的一个list<Bean>(此中数据重数据库中获取) 且用<s:select></select>标签

解决方案 »

  1.   

    如果bean放入requset作用域
    <s:select name="beans" list="#request.persons" listKey="personid" listValue="name"/>
      

  2.   

    1>.Bean类:
       private String id;
       private String name;
       
       有id,name属性get/set方法。2>.Action写法:   private List<Bean> lst;   有get/set方法。3>.jsp写法:
       <s:select name="beans" list="lst" listKey="id" listValue="name"/>
       或
       <s:select name="beans" list="#request.lst" listKey="id" listValue="name"/>
       或
       <s:select name="beans" list="%{#request.lst}" listKey="id" listValue="name"/>
      

  3.   

    action中除了List <Bean> list外 最好加一个参数 beanId用来存储你选择了的结果,这要根据你
    <s:select name="beanId" list="list" listKey="id" listValue="name"/> 
    中listKey的指向来确定。
    解释下这几个参数。
    name就不说了,拦截器就是根据name来拦截的,action中的beanId会记录下拉框选取的值。
    list 指向你action中的list,strut2标签中最好就不要用上面特别的符号了,只要是action中的属性,然 后又get set方法都能在struts2标签中取得。你点击页面查看原文件就会发现 <s:select> 最后还是给翻译成了<select>标签。而listKey="id"表示用Bean 的Id属性来做为每个option的 value,那么你选择了这个option后 select的值也会是这个value.即最后传给了beanId。listValue="name" 表示将Bean的 name属性做为<option>name</option>展示出来。