Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
5.0.16
-
None
Description
Using tapestry 5.0.16-Snapshot on jetty 5.1 with java 1.5_16
With the following form:
<div id="send" >
<form t:id="form" zone="chatLineZone">
<input t:type="TextField" t:id="chatLineContents" t:validate="required" size="90"/>
<input type="submit" value="Send"/>
</form>
</div>
<t:zone id="chatLineZone" visible="false"/>
Using 5.0.16 this generates the following html:
<form action="#" id="form" method="post" name="form">
When I submit this form in Firefox 3.0.3 it works fine but when I submit it fromo IE 6 I get the following stack trace in Tapestry:
[ERROR] TapestryModule.RequestExceptionHandler Processing of request failed with uncaught exception: Input string 'chatroom#' is not valid; the character '#' at position 9 is not valid.
java.lang.IllegalArgumentException: Input string 'chatroom#' is not valid; the character '#' at position 9 is not valid.
at org.apache.tapestry5.internal.services.URLEncoderImpl.decode(URLEncoderImpl.java:143)
at $URLEncoder_11d7db2f72d.decode($URLEncoder_11d7db2f72d.java)
at org.apache.tapestry5.internal.services.ContextPathEncoderImpl.decodePath(ContextPathEncoderImpl.java:70)
at $ContextPathEncoder_11d7db2f72a.decodePath($ContextPathEncoder_11d7db2f72a.java)
at org.apache.tapestry5.internal.services.PageRenderDispatcher.process(PageRenderDispatcher.java:88)
at org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:81)
at $Dispatcher_11d7db2f72b.dispatch($Dispatcher_11d7db2f72b.java)
at $Dispatcher_11d7db2f71d.dispatch($Dispatcher_11d7db2f71d.java)
at org.apache.tapestry5.services.TapestryModule$17.service(TapestryModule.java:1029)
at org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
at $RequestHandler_11d7db2f71e.service($RequestHandler_11d7db2f71e.java)
at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_11d7db2f71e.service($RequestHandler_11d7db2f71e.java)
at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:621)
at $RequestHandler_11d7db2f71e.service($RequestHandler_11d7db2f71e.java)
at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:611)
at $RequestHandler_11d7db2f71e.service($RequestHandler_11d7db2f71e.java)
at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
at $RequestHandler_11d7db2f71e.service($RequestHandler_11d7db2f71e.java)
at ie.barrydev.chatroom.services.AppModule$1.service(AppModule.java:85)
at $RequestFilter_11d7db2f718.service($RequestFilter_11d7db2f718.java)
at $RequestHandler_11d7db2f71e.service($RequestHandler_11d7db2f71e.java)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
at $RequestHandler_11d7db2f71e.service($RequestHandler_11d7db2f71e.java)
at $RequestHandler_11d7db2f714.service($RequestHandler_11d7db2f714.java)
at org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1007)
at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_11d7db2f713.service($HttpServletRequestFilter_11d7db2f713.java)
at $HttpServletRequestHandler_11d7db2f715.service($HttpServletRequestHandler_11d7db2f715.java)
at $HttpServletRequestHandler_11d7db2f712.service($HttpServletRequestHandler_11d7db2f712.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Going to 5.0.15 resolves the issue, the following html is generated in that case:
<form action="chatroom.form" id="form" method="post" name="form">