【发布时间】:2016-11-29 19:33:17
【问题描述】:
在 Tapestry 5.3.8 中,用户输入包含反斜杠字符的字符串的表单中的文本字段似乎在表单 POST 后在服务器端损坏。
假设我在表格中有一个城市名称字段:
<t:textfield t:id="inputCity" t:label="message:city" value="agency.city" t:validate="required" size="40" maxlength="50" />
如果我在那个字段中输入这个
test\fred
并在 onSuccess() 方法顶部的调试器中检查 agent.city 值。该值将是
test?red
在哪里?是换页符。我添加多少 \ 没有任何区别。除了最后一个之外,它们都被删除了,并且没有按字面意思解释。
在浏览器调试器中查看数据似乎完好无损地发布到服务器端。所以如果我输入
test\\fred
POST 包含:
inputCity=test%5C%5Cfred
如何让挂毯不与文本字段中的字符数据混淆?
【问题讨论】: