在struts-config.xml里面这样配置的
<form-bean name="fwxxForm" type="com.ch04.web.form.FwxxForm" /><action name="fwxxForm" path="/fwxx" type="com.ch04.web.action.FwxxAction" scope="request" parameter="operate"   validate="false">
 <forward name="error" path="/ch02/error.jsp" />
      <forward name="list" path="/ch04/list.jsp" />
    </action>Form类是:
public class FwxxForm extends ActionForm {
private FWXX condition=new FWXX();//使用实体类去表单页面的值
private List qxlist=new ArrayList();
public FWXX getCondition() {
return condition;
} public void setCondition(FWXX condition) {
this.condition = condition;
} public List getQxlist() {
return qxlist;
} public void setQxlist(List qxlist) {
this.qxlist = qxlist;
}
}
Action是:
public class FwxxAction extends DispatchAction {
public ActionForward toList(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
FwxxForm fwxx=(FwxxForm)form;
FwxxBiz biz=new FwxxBizImpl();
FWXX item=fwxx.getCondition();
List qxlist=biz.getQX();//数据库取值
request.setAttribute("qxlist", qxlist);
String title=item.getTitle();
List list=biz.search(item);//根据条件查找 request.setAttribute("list", list);
return mapping.findForward("list");
}
jsp是
<html:form action="/fwxx" >
   <table>
   <tr>
   <td>
  <html:hidden property="operate" value="toList" />
  <html:text property="condition.title" />
  <br></td>
  <td>
  <html:submit styleClass="btn">查询</html:submit> <br></td>
  </tr>
  <tr>
  <td>
  
  <strong>区县:</strong><br></td>
  <td><html:select property="condition.qxid" style="width:80px">
  <html:optionsCollection name="qxlist" label="qx" value="qxid" />
  </html:select></td>

  </tr>
  <tr>
  <td><strong>户型:</strong></td>
  <td><html:select property="condition.shi" style="width:60">
  <html:option value="1">1</html:option>
  <html:option value="2">2</html:option>
  <html:option value="3">3</html:option>
  </html:select>室
  <html:select property="condition.ting">
  <html:option value="1">1</html:option>
  <html:option value="2">2</html:option>
  <html:option value="3">3</html:option>
  </html:select>厅</td>
  </tr>
  </table>
这是个根据条件实现查询功能,主要是在条件上有个根据数据库里面的种类的下来列表,我是初学者,根据书上练习标签《html:select》<html:optionsCollection>的
可是无法实现一直包Cannot find bean: "qxlist" in any scope
我是个初学者,请各位高手指教,定有高分相送,尽量详细点!!!!!!!!!!

解决方案 »

  1.   

    fromBean 里的private List qxlist=new ArrayList(); 改成
    private List qxlist=null;Action 里request.setAttribute("qxlist", qxlist); 改成fwxx.setQxlist(list);
      

  2.   

    错误信息 :没有在作用域找到"qxlist"对象
      

  3.   

    还没有用过这个标签,个人感觉应该是这个问题比较大
    <html:optionsCollection name="qxlist" label="qx" value="qxid" /> 
    估计应该name存放的是一个pojo对象,但是你存放的确是一个list集合,所以它根本遍历不出来了
    你尝试一下存放其他的pojo对象看下,感觉应该是这个问题
      

  4.   

    试下下面可以不?
    <html:select property="qxid">
      <logic:notEmpty name="qxlist">
         <logic:iterate id="qxlistData" name="qxlist">
    <html:option value="${qxlistData.qxid}">
              <bean:write name="qxlistData" property="qx"/>
             </html:option>
          </logic:iterate>
       </logic:notEmpty>
    </html:select>
      

  5.   

    property<html:optionsCollection name="qxlist" label="qx" value="qxid" /> 换成<html:optionsCollection property="qxlist" label="qx" value="qxid" /> 
      

  6.   

    property<html:optionsCollection name="qxlist" label="qx" value="qxid" />换成<html:optionsCollection property="qxlist" label="qx" value="qxid" />在这个标签里面根本就没有property属性
      

  7.   

    试下下面可以不?
    <html:select property="qxid">
      <logic:notEmpty name="qxlist">
        <logic:iterate id="qxlistData" name="qxlist">
    <html:option value="${qxlistData.qxid}">
              <bean:write name="qxlistData" property="qx"/>
            </html:option>
          </logic:iterate>
      </logic:notEmpty>
    </html:select>谢谢,可是我现在用的就是一种方法,为什么就不行呢,你说的我懂,可是我使用的也是标签呀,为什么就不行呢
      

  8.   

    <html:optionsCollection name="qxlist" label="qx" value="qxid" /> 
    这样就比较明显了嘛,就是说name根本不支持一个list的集合啊,它支持一个pojo对象
      

  9.   

    顶一下,,,,,LZ节哀吧,,,,HTML 标签我从来不敢用,就是应为他有可能会报一些很让人无语的错.....看来LZ也是青鸟的一份子啊....有时间讨论讨论.....
      

  10.   

    或者楼主改成
    <html:options collection="qxlist" value="qxid" label="qx" />
      

  11.   

    在<html:optionsCollection>里面使用property会报莫名其妙的异常,不过我已经找出我错在那了,就是一开始那个qulist是个null,我先把那个qxlist查出来再跳到这个页面就没有错了,谢谢大家了不过我现在有新问题了,就是我如何在这个页面里面使用js调用我的后台方法呢,请大家继续关注,呵呵
      

  12.   

    name="qxlist"  ->property="qxlist" 
      

  13.   

     fromBean 里 加一个 qxid = null<html:select property="qxid" multiple ="true"  style="width:80px">
                 <html:options collection="qxlist" property="list里存入的Bean的ID" 
       labelProperty="list里存入的Bean的Name" />
          </html:select>