InvalidPropertyException-Collection of common programming errors
UpdateStockController
updateStock
nic.mams.web.beans.UpdateStockBean
updateStock
addOrEditOpenBalane
My xml configuration is shown above
The command class code is below
import java.util.LinkedList;
import java.util.List;
public class UpdateStockBean {
List dimensionStones=new LinkedList(); }
public List getDimensionStones() {
return dimensionStones;
}
public void setDimensionStones(List dimensionStones) {
this.dimensionStones = dimensionStones;
}
}
The DimensionStone class is below
public class DimensionStone {
int stoneNo;
int length;
int breadth;
int height;
int dimension;
String isIssued;
public int getStoneNo() {
return stoneNo;
}
public void setStoneNo(int stoneNo) {
this.stoneNo = stoneNo;
}
public int getLength() {
return length;
}
public void setLength(int length) {
this.length = length;
}
public int getBreadth() {
return breadth;
}
public void setBreadth(int breadth) {
this.breadth = breadth;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public int getDimension() {
return dimension;
}
public void setDimension(int dimension) {
this.dimension = dimension;
}
public String getIsIssued() {
return isIssued;
}
public void setIsIssued(String isIssued) {
this.isIssued = isIssued;
}
}
The form corresponding to the page value ” addOrEditOpenBalane “
is below
Remove Dimension Stone | ||||||
Remove Dimension Stone |
Add Dimension Stone | ||
my controller class is shown below
public class UpdateStockController extends AbstractWizardFormController {
@Override
protected ModelAndView processFinish(HttpServletRequest req,HttpServletResponse res, Object cmd, BindException be)
throws Exception {
}
@Override
@SuppressWarnings({ "rawtypes", "unchecked"})
protected Map referenceData(HttpServletRequest request, Object command,Errors errors, int page) throws Exception {
// TODO Auto-generated method stub
System.out.println(".............................referenceData..................");
Map map = new HashMap();
String applicationId=null;
applicationId=(String) request.getSession().getAttribute("applicationId");
Date productionDate=new Date();
Calendar cal = new GregorianCalendar();
cal.setTime(productionDate);
cal.add(Calendar.DAY_OF_MONTH, -30);
Date today30 = cal.getTime();
map.put("updateStockBean", updateStockBean.getDimensionStones());
return map;
}
}
here text boxes are added dynamically using JQUERY.The site my reference is http://outbottle.com/spring-3-mvc-adding-objects-to-a-list-element-on-the-fly-at-form-submit-generic-method/#comment-818756766
But I have run the code I got the exception
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'dimensionStones[0]' of bean class [nic.mams.web.beans.UpdateStockBean]: Index of out of bounds in property path 'dimensionStones[0]'; nested exception is java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:488)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
root cause
org.springframework.beans.InvalidPropertyException: Invalid property 'dimensionStones[0]' of bean class [nic.mams.web.beans.UpdateStockBean]: Index of out of bounds in property path 'dimensionStones[0]'; nested exception is java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:617)
org.springframework.beans.BeanWrapperImpl.getNestedBeanWrapper(BeanWrapperImpl.java:451)
org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:428)
org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
org.springframework.validation.DataBinder.applyPropertyValues(DataBinder.java:532)
org.springframework.validation.DataBinder.doBind(DataBinder.java:434)
org.springframework.web.bind.WebDataBinder.doBind(WebDataBinder.java:147)
org.springframework.web.bind.ServletRequestDataBinder.bind(ServletRequestDataBinder.java:108)
org.springframework.web.servlet.mvc.BaseCommandController.bindAndValidate(BaseCommandController.java:391)
org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:263)
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:861)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:795)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
root cause
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
java.util.LinkedList.entry(Unknown Source)
java.util.LinkedList.get(Unknown Source)
org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:566)
org.springframework.beans.BeanWrapperImpl.getNestedBeanWrapper(BeanWrapperImpl.java:451)
org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:428)
org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
org.springframework.validation.DataBinder.applyPropertyValues(DataBinder.java:532)
org.springframework.validation.DataBinder.doBind(DataBinder.java:434)
org.springframework.web.bind.WebDataBinder.doBind(WebDataBinder.java:147)
org.springframework.web.bind.ServletRequestDataBinder.bind(ServletRequestDataBinder.java:108)
org.springframework.web.servlet.mvc.BaseCommandController.bindAndValidate(BaseCommandController.java:391)
org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:263)
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:861)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:795)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
note The full stack trace of the root cause is available in the JBoss Web/3.0.0-CR1 logs.
JBoss Web/3.0.0-CR1
can Any one correct the problem.If possible please reply