2016-11-29 14 views
0

Текстовые поля в форме в Tapestry 5.3.8, что пользователь вводит строку в содержащий символы обратной косой черты, кажется, поврежден на стороне сервера после формы POST.Tapestry 5.3.8 поля формы, содержащие символы обратной косой черты, повреждены

сказать, у меня есть поле в форме для названия города:

<t:textfield t:id="inputCity" t:label="message:city" value="agency.city" t:validate="required" size="40" maxlength="50" /> 

, если я введу это в этой области

test\fred 

и проверить значение agency.city в отладчике в то вершина метода onSuccess(). Значение будет

test?red 

где? является символом подачи формы. Не важно, сколько я добавляю. Все они удалены, кроме последней, и интерпретируются не буквально.

Глядя в отладчик браузера, кажется, что данные POSTed на стороне сервера нетронутыми. Так что, если я вхожу

test\\fred 

СТОЛБ содержит:

inputCity=test%5C%5Cfred 

Как сделать гобелен Не шутите с символьными данными в текстовом поле?

ответ

1

Оказывается, мы используем ESAPI для обработки некоторых проблем с межсайтовыми сценариями. Кодер ESAPI по умолчанию использует JavascriptCodec, а JavascriptCodec удаляет все обратные косые черты. Вот сообщенная проблема.

https://code.google.com/p/owasp-esapi-java/issues/detail?id=252

Таким образом, не проблема с гобеленом. :)