I think I can explain it now. I hit the action servlet first invoking preCreate function. This function populates various lists of beans needed for dropdowns and put these lists in the request object and forward to a JSP. The JSP reads these lists and displays the dropdowns. So far so good! preCreate --->request object populated with lists ---> JSP reads from request for dropdown lists Now... enter the Validation framework! I think it is hijacking this series!
preCreate ---> request populated with lists ---> Validator framework ---> JSP Now the jump from Validator framework to JSP means that all request scope objects (the lists) are lost! :( How should I architect ? Should I make these lists session scope? I somehow dont like to make them session scope, because they are really request scope! Can someone comment on my explanation / help me with a solution ?? Thanks much. Regards, Raghu On 11/12/05, Martin Gainty <[EMAIL PROTECTED]> wrote: > > I didnt see the contents E.G. <tag> </tag> for your c.tld ?? > Martin- > ----- Original Message ----- > From: "Raghu Kanchustambham" <[EMAIL PROTECTED]> > To: "Struts Users Mailing List" <user@struts.apache.org> > Sent: Saturday, November 12, 2005 10:37 AM > Subject: Re: Fw: Validator framework introduces errors > > > Hi Martin, > I do something like: > request.setAttribute("centreList",DataAccessManager.getCentres()); > before invoking the jsp. > The strange part is, the minute i remove validation.xml from the validator > path, effectively removing the validation framework, every thing works > just > fine! Just cant explain it ! :( > Thanks again in advance to anyone who can explain this! > Please find the StudentEnquiry.jsp attached. > ---------------------------------------- > > <%@ page import=" > com.tuningfork.student.businessobject.enquiry.StudentEducationDetail"%> > <%@ page language="java" %> > <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> > <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> > <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> > <%@ taglib uri="/WEB-INF/c.tld" prefix="c" %> > <%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %> > > <layout:html> > <head> > <title>Student Enquiry</title> > > <link rel="stylesheet" type="text/css" href="../mystyle.css" /> > <SCRIPT>function set(target) {document.forms > [0].operation.value=target;}</SCRIPT> > </head> > <body> > <h2>Student Enquiry</h2> > <html:errors/> > <c:set var="operationVar"> > <%= request.getParameter("nextOperation")%> > </c:set> > > <c:set var="readOnlyForm"> false </c:set> > > <c:if test="${operationVar=='null' || operationVar=='ok'}"> <!-- view > doesnt > have a Next operation --> > <c:set var="readOnlyForm"> true </c:set> > </c:if> > <html:form action="StudentEnquiry.do" > onsubmit="validateStudentEnquiryForm(this);"> > <input type="hidden" name="operation" > value="<%=request.getParameter("nextOperation")%>" > /> > <table width="100%"> > <tr> > <td rowspan="2"> > <[EMAIL PROTECTED] file="StudentDemographics.jsp"%> > </td> > <td> > <layout:grid cols="2"> > <layout:select property="enquiryCentreId" size="${selectBoxSize}" > key="Enquiry Centre"> > <layout:options collection ="centreList" property="id" labelName="name" /> > </layout:select> > <layout:select property="enquiryCourseId" size="${selectBoxSize}" > key="Enquiry Course"> > <layout:optionsCollection name="courseList" value="id" label="name"/> > </layout:select> > </layout:grid> > > </td> > </tr> > > > <tr> > <td> > </td> > <td align="center"> > <html:submit>${operationVar} </html:submit> > <html:cancel>cancel</html:cancel> > </td> > </tr> > > </table> > > > </html:form> > > </body> > </layout:html> > ------------------------------------------------ > > > On 11/12/05, Martin Gainty <[EMAIL PROTECTED]> wrote: > > > > I did'nt see the (StudentEnquiry.jsp) jsp page which references > centreList > > bean? > > I also dont see the code for centreList bean? > > > > Martin- > > > > ----- Original Message ----- > > From: "Raghu Kanchustambham" <[EMAIL PROTECTED]> > > To: "Struts Users Mailing List" <user@struts.apache.org> > > Sent: Saturday, November 12, 2005 9:40 AM > > Subject: Validator framework introduces errors > > > > > > Hi, > > The minute I introduced Validator framework in my application ..... > > it started giving me the following error when I accessed the JSP .... > > centreList is used as a parameter for the dropdown. The minute I remove > > the > > validation.xml from the path... the application runs fine again! :( > > very strange and i am not able to explain this behavior .. can someone > > help? > > Thanks much in advance. > > Regards, > > Raghu > > > > javax.servlet.jsp.JspException: Cannot find bean centreList in any scope > > org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:938) > > fr.improve.struts.taglib.layout.field.OptionsCollectionTag.doStartTag( > > OptionsCollectionTag.java:115) > > > > > org.apache.jsp.student.StudentEnquiry_jsp._jspx_meth_layout_optionsCollection_0 > > (StudentEnquiry_jsp.java:1088) > > org.apache.jsp.student.StudentEnquiry_jsp._jspx_meth_layout_select_2 > > (StudentEnquiry_jsp.java:1062) > > org.apache.jsp.student.StudentEnquiry_jsp._jspx_meth_layout_grid_1 > > (StudentEnquiry_jsp.java:1028) > > org.apache.jsp.student.StudentEnquiry_jsp._jspService > > (StudentEnquiry_jsp.java:258) > > > > > > > > > > > > My validation.xml (very simple one): > > > > <!DOCTYPE form-validation PUBLIC > > "-//Apache Software Foundation//DTD Commons Validator Rules > > Configuration 1.0//EN" > > "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd"> > > > > > > <form-validation> > > <formset> > > <form name="studentEnquiryForm"> > > <field property="studentEnquiry.firstName" depends="required"> > > <arg0 key="firstName.mandatory"/> > > </field> > > </form> > > </formset> > > </form-validation> > > >