我在做下拉列表动态绑定是发生了No getter Method的错误,在form中,不是大小写的问题,上网查了一些资料,出的问题也和我不一样,急救啊!!!
jsp中代码如下:
<html:select property="choose">
  <html:option value="0">------请选择------</html:option>
<html:optionsCollection name="bugRoleList" label="userRoleName" value="userRoleId" />
</html:select>
form中代码如下:
public class MissionForm extends ActionForm {
/**
 * 
 */
private static final long serialVersionUID = 1L; /*
 * Generated Methods
 */
private String misUserChoose;

private String choose;

private String misRoleChoose;

private String rwId; private XtYh xtYh; private String dyName;

private DyJq dyJq; private RwSp rwSp; private Integer rwState; private Date rwDate = new Date(); private Set xtQxes = new HashSet(0);

public DyJq getDyJq() {
return dyJq;
} public void setDyJq(DyJq dyJq) {
this.dyJq = dyJq;
} public Date getRwDate() {
return rwDate;
} public void setRwDate(Date rwDate) {
this.rwDate = rwDate;
} public String getRwId() {
return rwId;
} public void setRwId(String rwId) {
this.rwId = rwId;
} public RwSp getRwSp() {
return rwSp;
} public void setRwSp(RwSp rwSp) {
this.rwSp = rwSp;
} public Integer getRwState() {
return rwState;
} public void setRwState(Integer rwState) {
this.rwState = rwState;
} public Set getXtQxes() {
return xtQxes;
} public void setXtQxes(Set xtQxes) {
this.xtQxes = xtQxes;
} public XtYh getXtYh() {
return xtYh;
} public void setXtYh(XtYh xtYh) {
this.xtYh = xtYh;
} /** 
 * Method validate
 * @param mapping
 * @param request
 * @return ActionErrors
 */
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
} /** 
 * Method reset
 * @param mapping
 * @param request
 */
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
} public String getDyName() {
return dyName;
} public void setDyName(String dyName) {
this.dyName = dyName;
} public String getMisRoleChoose() {
return misRoleChoose;
} public void setMisRoleChoose(String misRoleChoose) {
this.misRoleChoose = misRoleChoose;
} public String getMisUserChoose() {
return misUserChoose;
} public void setMisUserChoose(String misUserChoose) {
this.misUserChoose = misUserChoose;
} public String getChoose() {
return this.choose;
} public void setChoose(String choose) {
this.choose = choose;
}
}
其中,get和set方法都是自动生成的,大小写都符合要求,查询出的list没有问题,我试过了,如果不用form中的choose属性,换用form中的dyName属性,就没有问题了,郁闷中,为什么同一个form中的属性使用另外一个就可以了呢?急救啊!!!!

解决方案 »

  1.   

    删除tomca主目录下/work/Catalina所有文件,重新测试。
    放心,该目录课放心删除,测试时自动生成。
    reseon:
       你上次修改的文件混淆了编译器。
      

  2.   

    <html:optionsCollection name="bugRoleList" label="userRoleName" value="userRoleId" />
    list的对象是什么,是不是没有userRoleName或userRoleId的get方法
      

  3.   

    删除tomcat主目录下的/work/Catalina 下所有文件.
    再重新启动服务器试试
    不行的话把错误信息贴出来应该。
      

  4.   

    我把tomcat主目录下的/work/Catalina 的文件都删除了,可是还是不行啊,我的bugRoleList中存的是查询一张但表的的对象,对象中的userRoleName和userRoleId的get方法是肯定有的,错误代码如下:
    00:41:59,125 ERROR [jsp]:723 - Servlet.service() for servlet jsp threw exception
    javax.servlet.jsp.JspException: No getter method available for property choose for bean under name org.apache.struts.taglib.html.BEAN
    at org.apache.struts.taglib.html.SelectTag.calculateMatchValues(SelectTag.java:266)
    at org.apache.struts.taglib.html.SelectTag.doStartTag(SelectTag.java:200)
    at org.apache.jsp.BugManage.executeBug_jsp._jspx_meth_html_005fselect_005f0(executeBug_jsp.java:301)
    at org.apache.jsp.BugManage.executeBug_jsp._jspx_meth_logic_005fnotEmpty_005f0(executeBug_jsp.java:271)
    at org.apache.jsp.BugManage.executeBug_jsp._jspService(executeBug_jsp.java:120)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    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 com.accp.SetEncodingActionServlet.process(SetEncodingActionServlet.java:15)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Unknown Source)
    00:41:59,140 ERROR [action]:253 - Servlet.service() for servlet action threw exception
    javax.servlet.jsp.JspException: No getter method available for property choose for bean under name org.apache.struts.taglib.html.BEAN
    at org.apache.struts.taglib.html.SelectTag.calculateMatchValues(SelectTag.java:266)
    at org.apache.struts.taglib.html.SelectTag.doStartTag(SelectTag.java:200)
    at org.apache.jsp.BugManage.executeBug_jsp._jspx_meth_html_005fselect_005f0(executeBug_jsp.java:301)
    at org.apache.jsp.BugManage.executeBug_jsp._jspx_meth_logic_005fnotEmpty_005f0(executeBug_jsp.java:271)
    at org.apache.jsp.BugManage.executeBug_jsp._jspService(executeBug_jsp.java:120)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    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 com.accp.SetEncodingActionServlet.process(SetEncodingActionServlet.java:15)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Unknown Source)
    一头的汗啊
      

  5.   

    就是说你没有get,set方法,或者你名字写错了..