[ 
https://issues.apache.org/jira/browse/TAPESTRY-1605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12574419#action_12574419
 ] 

polawat phetra commented on TAPESTRY-1605:
------------------------------------------

I have test your solution and find a new issue.
This is a stack trace  that show the problem.

The HttpServletRequest object is access by ClientPersistentFieldStrategy with 
activate by PageImpl.attached()

(revision 632972)
======================================================
    RequestImpl.getParameter(String) line: 56  <<+++++++ ACCESS REQUEST 
PARAMETER ++++++++>>
    ...
    ClientPersistentFieldStorageImpl.<init>(Request) line: 120
    ...
    NativeConstructorAccessorImpl.newInstance(Object[]) line: 39
    DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 27
    Constructor<T>.newInstance(Object...) line: 494
    ConstructorServiceCreator.createObject() line: 51
    PerThreadServiceCreator.createObject() line: 53
    ...
    ClientPersistentFieldStrategy.gatherFieldChanges(String) line: 39
    ...
    PersistentFieldManagerImpl.gatherChanges(String) line: 65
    ...
    PageImpl.getFieldChange(String, String) line: 171
    InternalComponentResourcesImpl.getFieldChange(String) line: 105
    InternalComponentResourcesImpl.hasFieldChange(String) line: 115
    Form.containingPageDidAttach() line: not available
    ComponentPageElementImpl$2.run(Component) line: 71
    ComponentPageElementImpl.invoke(boolean, ComponentCallback) line: 880
    ComponentPageElementImpl.containingPageDidAttach() line: 706
    PageImpl.attached() line: 146
    RequestPageCacheImpl.get(String) line: 45
    ...
    RequestEncodingInitializerImpl.initializeRequestEncoding(String) line: 41 
<<-++++++ HERE 's  a PROBLEM 
    ...
    ComponentEventDispatcher.dispatch(Request, Response) line: 119
    ...
    TapestryModule$13.service(Request, Response) line: 928
    AppModule$1.service(Request, Response, RequestHandler) line: 57
    ...
    LocalizationFilter.service(Request, Response, RequestHandler) line: 42
    ...
    TapestryModule$3.service(Request, Response, RequestHandler) line: 539
======================================================

I think that the best solution is just use ServletFilter or RequestFilter to 
set the character encoding.

> The request encoding (for component action requests) occurs too late; after 
> query parameters of the request have been accessed, which prevents the proper 
> request encoding from being used
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-1605
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1605
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.5
>            Reporter: polawat phetra
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.11
>
>
> Due to changeset 550147 that fix issue "tapestry-1294", 
> request.setCharacterEncoding is not working in case of form submit data event
> because of method request.setEncoding in RequestEncodingInitializerImpl is 
> called after
> request.getParameter(InternalConstants.PAGE_CONTEXT_NAME) in 
> ComponentActionDispatcher.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to