J'ai l'URL de ma demande que j'envoie à l'utilisateur final dans ses emails.l'url de l'application contenant '@' lançant une exception
Maintenant que l'URL contient le champ 'nom d'utilisateur', qui peut contenir le caractère '@'.
Par exemple. lien qui a envoyé à l'utilisateur final:
http://localhost:8080/my-app/someaction/activateuser/[email protected]/somedata/
Maintenant, chaque fois que l'utilisateur clique sur lien ci-dessus, son lancement exception suivante:
java.lang.IllegalArgumentException
Input string '[email protected]' is not valid; the character '@' at position 4 is not valid.
at org.apache.tapestry5.internal.services.URLEncoderImpl.decode(URLEncoderImpl.java:144)
at $URLEncoder_137022607d9.decode($URLEncoder_137022607d9.java)
at org.apache.tapestry5.internal.services.ContextPathEncoderImpl.decodePath(ContextPathEncoderImpl.java:92)
at $ContextPathEncoder_137022607cd.decodePath($ContextPathEncoder_137022607cd.java)
at org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.checkIfPage(ComponentEventLinkEncoderImpl.java:328)
at org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.decodePageRenderRequest(ComponentEventLinkEncoderImpl.java:307)
at org.apache.tapestry5.internal.services.linktransform.LinkTransformerInterceptor.decodePageRenderRequest(LinkTransformerInterceptor.java:68)
at $ComponentEventLinkEncoder_137022607c1.decodePageRenderRequest($ComponentEventLinkEncoder_137022607c1.java)
at org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:41)
at $Dispatcher_137022607c2.dispatch($Dispatcher_137022607c2.java)
at $Dispatcher_137022607bd.dispatch($Dispatcher_137022607bd.java)
at org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
Est-il possible de gérer ce scénario, comme l'encodage/décodage des urls ?
Comment gérez-vous Nate l'URL? Il semble que vous fassiez le tour de la tapisserie normale pour générer une URL car, si je ne me trompe pas, Tapestry fait tout le codage pour vous. – joostschouten