PDA

View Full Version : Simple Form Controller and Binding


rkam
Jun 2nd, 2006, 12:57 PM
Hi

We are using SimpleFormController and binding to form bean, there seems to be a problem in the binding when values are duplicated by coma

HTTP header :queryString: name=rk1&base=&profileType=AOR&order=5&preference=10&flags=u

But when the DataBinder is binding for profileType, it is binding values as "AOR,AOR" instead of just "AOR"

Please help..

thanks
rkam

gmazza
Jun 2nd, 2006, 03:09 PM
Hmmm...just guessing, but I think you are somehow doing a multiple submit and the AOR value is being repeated as a result.

Also, something to check for, make sure in your JSP binding, you are using ${status.value} as below and not ${param.value}.

<spring:bind path="myValue">
<tr>
<td>Enter Value:</td>
<td><input type="text" name="myValue" value="${status.value}" size="30"></td>
</tr>
</spring:bind>

Glen

rkam
Jun 2nd, 2006, 03:17 PM
Hi

We are using AJAX call. So we are not using spring:bind .. We are thinking that we are missing some thing. I throwed an exception inside the setXXX()
call to see what is going on.. I see only stack trace .. see below

public void setProfileType(String profileType) {
try
{
System.out.println("ProfileType:" + this.profileType);
this.profileType = profileType;
System.out.println("ProfileType:" + this.profileType);
throw new Exception("Nothing");
}
catch(Exception e)
{
e.printStackTrace();
}

}



StackTrace

ProfileType:null
ProfileType:AOR,AOR
java.lang.Exception: Nothing
at com.neu.sip_ix.formbean.CreateProfileFormBean.setP rofileType(CreateProfileFormBean.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.beans.BeanWrapperImpl.setPrope rtyValue(BeanWrapperImpl.java:707)
at org.springframework.beans.BeanWrapperImpl.setPrope rtyValue(BeanWrapperImpl.java:572)
at org.springframework.beans.BeanWrapperImpl.setPrope rtyValue(BeanWrapperImpl.java:737)
at org.springframework.beans.BeanWrapperImpl.setPrope rtyValues(BeanWrapperImpl.java:764)
at org.springframework.validation.DataBinder.applyPro pertyValues(DataBinder.java:418)
at org.springframework.validation.DataBinder.doBind(D ataBinder.java:325)
at org.springframework.web.bind.WebDataBinder.doBind( WebDataBinder.java:122)
at org.springframework.web.bind.ServletRequestDataBin der.bind(ServletRequestDataBinder.java:131)
at org.springframework.web.servlet.mvc.BaseCommandCon troller.bindAndValidate(BaseCommandController.java :368)
at org.springframework.web.servlet.mvc.AbstractFormCo ntroller.handleRequestInternal(AbstractFormControl ler.java:248)
at org.springframework.web.servlet.mvc.AbstractContro ller.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControll erHandlerAdapter.handle(SimpleControllerHandlerAda pter.java:44)
at org.springframework.web.servlet.DispatcherServlet. doDispatch(DispatcherServlet.java:723)
at org.springframework.web.servlet.DispatcherServlet. doService(DispatcherServlet.java:663)
at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:394)
at org.springframework.web.servlet.FrameworkServlet.d oPost(FrameworkServlet.java:358)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
at com.neu.sip_ix.servlet.SIPIXRequestFilter.doFilter (SIPIXRequestFilter.java:49)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:868)
at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:663)
at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)


Thanks a lot
rkam