[ 
https://issues.apache.org/jira/browse/WICKET-1552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Vaynberg resolved WICKET-1552.
-----------------------------------

    Resolution: Won't Fix
      Assignee: Igor Vaynberg

we are removing support for formcomponent.setpersistent in the coming version. 
you are better off implementing this yourself.

> FormComponent.setPersistent doesn't support Asian characters
> ------------------------------------------------------------
>
>                 Key: WICKET-1552
>                 URL: https://issues.apache.org/jira/browse/WICKET-1552
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.3
>         Environment: Tomcat 6.0.16, Windows 2003, JDK 6U5
>            Reporter: Xiaoyu Huang
>            Assignee: Igor Vaynberg
>
> Tomcat doesn't support Control characters in cookie value. But Asian 
> characters in UTF-8 do have many such characters. So if a form is going to 
> save Asian characters in text field into cookies, tomcat will through an 
> exception:
> java.lang.IllegalArgumentException: Control character in cookie value, 
> consider BASE64 encoding your value
>      at 
> org.apache.tomcat.util.http.ServerCookie.maybeQuote2(ServerCookie.java:336)
>      at 
> org.apache.tomcat.util.http.ServerCookie.appendCookieValue(ServerCookie.java:251)
>      at 
> org.apache.catalina.connector.Response.addCookieInternal(Response.java:976)
>      at org.apache.catalina.connector.Response.addCookie(Response.java:945)
>      at 
> org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:343)
>      at 
> org.apache.wicket.protocol.http.WebResponse.addCookie(WebResponse.java:86)
>      at 
> org.apache.wicket.markup.html.form.persistence.CookieValuePersister.save(CookieValuePersister.java:271)
>      at 
> org.apache.wicket.markup.html.form.persistence.CookieValuePersister.save(CookieValuePersister.java:96)
>      at 
> org.apache.wicket.markup.html.form.Form$11.onFormComponent(Form.java:1228)
>      at 
> org.apache.wicket.markup.html.form.FormComponent$AbstractVisitor.formComponent(FormComponent.java:107)
>      at 
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:421)
>      at 
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:408)
>      at 
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrder(FormComponent.java:385)
>      at 
> org.apache.wicket.markup.html.form.Form.visitFormComponentsPostOrder(Form.java:1026)
>      at 
> org.apache.wicket.markup.html.form.Form.persistFormComponentData(Form.java:1217)
>      at org.apache.wicket.markup.html.form.Form.process(Form.java:834)
>      at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:773)
> So i think wicket should BASE64 encode form field values before saving to 
> cookies.

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

Reply via email to