Hi Daniel,

If you are changing the value of the fields with javascript, then the
squeeze prefix character is getting lost. Since the data squeezer parses
the field value type from its first character, it expects a string at
least one character long.

If the value in the field is a string, you can disable data squeezing by
setting encode="ognl:false" for the field. We had problems with hidden
fields, and disabling data squeezing solved them.

Best wishes

John



-----Original Message-----
From: Daniel M Garland [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, December 14, 2005 12:55 PM
To: Tapestry users
Subject: StringIndexOutOfBounds with Hidden (but not TextField)

Hi all,

When i'm using forms I sometimes get a StringIndexOutOfBoundsException 
when submitting a form that has Hidden components. Changing them to 
TextField seems to work; I hide them again using CSS. Any ideas why this

is / what i'm doing wrong?

String index out of range: 0
Stack Trace:

     * java.lang.String.charAt(String.java:558)
     * 
org.apache.tapestry.util.io.DataSqueezer.unsqueeze(DataSqueezer.java:212
)
     * org.apache.tapestry.form.Hidden.renderComponent(Hidden.java:98)
     * 
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
     * 
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:
624)
     * 
org.apache.tapestry.components.Conditional.renderComponent(Conditional.j
ava:56)
     * 
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
     * 
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:
624)
     * org.apache.tapestry.form.Form.renderComponent(Form.java:362)
     * 
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
     * 
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:
624)
     * 
org.apache.tapestry.components.Foreach.renderComponent(Foreach.java:122)
     * 
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
     * 
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:
624)
     * org.apache.tapestry.html.Body.renderComponent(Body.java:269)
     * 
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
     * 
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:118
)
     * 
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
     *
org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:300)
     * 
org.apache.tapestry.engine.RequestCycle.rewindPage(RequestCycle.java:505
)
     * 
org.apache.tapestry.engine.ActionService.service(ActionService.java:158)
     * 
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:88
9)
     * 
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java
:198)
     * 
org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:32
7)
     * javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
     * javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     * 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:252)
     * 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
     * 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)
     * 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:178)
     * 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:482)
     * 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:126)
     * 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:105)
     * 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:526
)
     * 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:107)
     * 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
48)
     * 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:85
6)
     * 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:744)
     * 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:527)
     * 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:80)
     * 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)
     * java.lang.Thread.run(Thread.java:595)


Cheers
-- 
Dan Garland
------------------------
[EMAIL PROTECTED]
icq: 120963437
aim: dmgarland1767


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to