|
From: prats_a <pra...@ya...> - 2008-03-26 01:59:52
|
Hi I am new to spring and I am trying a basic problem where I am trying to
create a new Group under a particular Category.The categories are listed in
a list box.
My Group class is like this.
Class Group
{
Integer groupId;
String groupName;
Category category; //there is a many-to-one association between Group and
Category.
//setter and getter methods
}
and the Category Class like this
Class Category
{
Integer categoryId;
String categoryName;
String description;
//setter,getter methods.
}
In the formController I am trying retrieve all the categories from the
database and add the obtained list to the modelAndView to access them in the
jsp page.
My createGroup.jsp code looks like this
//other code omitted for brevity
<spring:bind path="command.*">
<spring:nestedPath path="category">
<form:select id="category" path="category">
<c:forEach items="${categoryList}" var="category">
<form:option value="${category}">${category.name}</form:option>
</c:forEach>
</form:select>
</spring:nestedPath>
</spring:bind>
//submit button code
when I click on the Submit button I am getting the following error.
org.springframework.beans.NotReadablePropertyException: Invalid property
'category.category' of bean class [com.project.model.Group]: Bean property
'category.category' is not readable or has an invalid getter method: Does
the return type of the getter match the parameter type of the setter?
at
org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:544)
at
org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:536)
at
org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:149)
at
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:176)
at
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:196)
at
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:147)
at
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:125)
at
org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:379)
at
org.springframework.web.servlet.tags.form.SelectTag.writeTagContent(SelectTag.java:198)
at
org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:90)
at
org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:77)
at
org.apache.jsp.WEB_002dINF.jsp.createGroup_jsp._jspService(createGroup_jsp.java:286)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:353)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:412)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:318)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at
org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:848)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:697)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:532)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:465)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:353)
at
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:167)
at
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:239)
at
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1158)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:808)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
at
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
at
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
could anybody through some light on this.
Thank you very much for your time.
Prats
--
View this message in context: http://www.nabble.com/Spring-Binding-not-working-tp16294032p16294032.html
Sent from the springframework-developer mailing list archive at Nabble.com.
|