我的jsp页面里有这样一段代码,就是要把数据库里面的地区信息填到select.
<html:select property="provinceId" styleClass="table-list">
              <html:optionsCollection  property="provinceIds"/>
 </html:select>在我的form里面这么写的:
private String provinceId;public String getProvinceId()
{
return this.provinceId;
}public void setProvinceId(String provinceId)
{
this.provinceId = provinceId;
} private List provinceIds = null;public List getProvinceIds() 
{
  if (this.provinceIds == null)
this.provinceIds = Parameters.getTypes(Constants.TYPE_PROVINCE);
   return this.provinceIds;
}但是运行的时候就会报错如下,错误得指向就是<html:select property="provinceId" styleClass="table-list">这一行,我是struts新手,我觉得provinceId我已经在bean里面定义过了。不知道问题出在什么地方,恳请指教。
javax.servlet.jsp.JspException: Cannot find bean under name org.apache.struts.taglib.html.BEAN at org.apache.struts.taglib.html.SelectTag.calculateMatchValues(SelectTag.java:240) at org.apache.struts.taglib.html.SelectTag.doStartTag(SelectTag.java:200) at _app._rpc._MyJsp._jspService(_MyJsp.java:109) [SRC:/app/rpc/test.jsp:57] at com.orionserver[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:569) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:305) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:824) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:222) at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063) at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:824) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:285) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:126) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186) at java.lang.Thread.run(Thread.java:595)

解决方案 »

  1.   

    可以参考以下的帖子:
    http://community.csdn.net/Expert/TopicView3.asp?id=4485712
      

  2.   

    不行,我把jsp中那段代码改成如下,还是出现相同得错误。
    <html:select property="provinceId" styleClass="table-list">
       <html:option value="">请选择</html:option>
      
                  <html:options collection="provinceIds"  property="provinceIds"/>
           </html:select>
      

  3.   

    问题解决了,我原来的form这么写的<form>改成<html:form>就可以了,但是不知道为什么,谁能帮忙解答一下。谢谢先!!!
      

  4.   

    因为你的下拉列表框是使用的Struts标签,而表单却使用html标签,所以会出错
    反之却不会出错