在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
我是个初学者,请各位高手指教,定有高分相送,尽量详细点!!!!!!!!!!
<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
我是个初学者,请各位高手指教,定有高分相送,尽量详细点!!!!!!!!!!
解决方案 »
- 在bean单态下,spring是怎么识别bean的状态
- 如何使用Teamwork License.jar 生成Teamwork License Keygen.txt
- Java进程控制问题 为什么重定向功能不能用
- 好郁闷的问题?
- struts 2 关于标签问题,请各位帮忙解答解答
- spring+hibernate3+osworkflow整合问题
- 粗大事了~~~~兄弟们,ScheduledExecutorService的scheduleAtFixedRate方法怎么会这样???????
- hibernate问题,关于找不到bibernate.cfg.xml文件错误!
- 做过EJB实际开发项目的近来看看,散分...
- TNND,自从这个论坛改为XML,我的LINUX下的KONQUEROR浏览器就看不见文字了!!!
- spring jpa 无法删除对象Removing a detached instance
- 在线急等……各位大虾MyEclipse6.5反转Oracle表为何反转不了?
private List qxlist=null;Action 里request.setAttribute("qxlist", qxlist); 改成fwxx.setQxlist(list);
<html:optionsCollection name="qxlist" label="qx" value="qxid" />
估计应该name存放的是一个pojo对象,但是你存放的确是一个list集合,所以它根本遍历不出来了
你尝试一下存放其他的pojo对象看下,感觉应该是这个问题
<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>
<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>谢谢,可是我现在用的就是一种方法,为什么就不行呢,你说的我懂,可是我使用的也是标签呀,为什么就不行呢
这样就比较明显了嘛,就是说name根本不支持一个list的集合啊,它支持一个pojo对象
<html:options collection="qxlist" value="qxid" label="qx" />
<html:options collection="qxlist" property="list里存入的Bean的ID"
labelProperty="list里存入的Bean的Name" />
</html:select>