Hello folks,
I have the following problem using <nested:iterate> and <logic:iterate> tags. Please
help me some one.
Problem:
When i set the values for first time in my action class and forward to jsp page i.e
pre-populate , the values are set and works well. But after prepopulating, when i
change values in the jsp page and try to submit the form, then i get the
"BeanUtils.populate" errors. Is it because, i am trying to populate list/some other
reason?
Here i have listed
1. struts code
2. Form Bean code
3. TraineeScoresListBean code
4. Errors
Any suggestions? Please help me, ASAP. Thank You.
1. Here is my form using struts:
a. Using logic:iterate
<logic:iterate id="element" name="perfTestGradeForm"
property="traineeScoresList" >
<html::text property="score" name="element" size="5"
maxlength="4" /><br />
</logic:iterate>
b. using nested:iterate
<nested:iterate name="perfTestGradeForm" property="traineeScoresList" >
<nested:text property="score" size="5" maxlength="4" /><br />
</nested:iterate>
Here the list 'traineeScoresList' is collection of beans
'TraineeTaskScoreListBean' that has attribute 'score' of datatype 'String'.
2. Form Bean Code:
public final class PerfTestGradeFormBean extends ActionForm {
//this traineeScoresList will have TraineeTaskScoreListBean that has
// score as an attribute
private Collection traineeScoresList = new Vector();
public PerfTestGradeForm(){
this.traineeScoresList = new Vector();
}
public Collection getTraineeScoresList(){
System.out.println("In perftestgradeform.java: getTraineeScore...()");
return this.traineeScoresList;
}
public void setTraineeScoresList(Collection list){
this.traineeScoresList = list;
}
}
3. Here is Code for TraineeTaskScoreListBean:
public class TraineeTaskScoreListBean{
private String score;
public TraineeTaskScoreListBean(String score){
this.score = score;
}
public String getScore(){
return this.score;
}
public void setScore(String score){
this.score = score;
}
}
4. Errors:
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1
at java.util.Vector.get(Vector.java:713)
at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(Propert
yUtils.java:521)
at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(Propert
yUtils.java:428)
at org.apache.commons.beanutils.PropertyUtils.getNestedProperty(Property
Utils.java:770)
at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.
java:801)
at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:881
)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1096)
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProc
essor.java:816)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:254)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:142
0)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360
)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicati
onHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:5
58)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplication
Context.java:507)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
at org.mortbay.http.HttpServer.service(HttpServer.java:863)
at org.jboss.jetty.Jetty.service(Jetty.java:460)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:
201)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)
Again Thanks,
Kamal.
---------------------------------------------------------------------
"When someone LAUGHS, you SMILE
When someone CRIES, make them SMILE" - Kamalakar Thota
"A winner is not one who never fails, but one who
never quits! In LIFE"
"YOU SEE THINGS AND SAY,'WHY?,' BUT I DREAM THINGS AND SAY,'WHY
NOT?'" - Goerge Bernard Shaw
---------------------------------------------------------------------
---------------------------------
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!