我编写了一个将多段字符串作为参数上传的小程序。当我在 Netbeans 中对其进行测试时,它会保留 CRLF,但是当我在应用程序中实时部署它时,它会丢弃它们 为什么会发生这种情况,我该怎么办?
问问题
128 次
2 回答
3
为什么会发生这种情况..(?)
我不相信参数值意味着多行。这就是 W3C 关于CDATA
价值内容的说法。
CDATA是来自文档字符集的字符序列,可能包括字符实体。用户代理应该如下解释属性值:
- 用字符替换字符实体,
- 忽略换行,
- 用一个空格替换每个回车符或制表符。
建议
..我能做些什么呢?
长“单行”参数
- 使用多行文本组件,例如
JTextArea
在需要的地方显示和换行。 - 使用 HTML 格式(包括 CSS 中的宽度)到
JLabel
. 那将支持多个段落。 - 在需要的地方进行硬编码
\n
。
每行单个参数
编号(例如name=
-> text1
, text2
, .. textNNN
),当你得到一个返回值时停止null
。
于 2012-06-16T09:08:04.280 回答
0
是的,这很可能是浏览器的问题,它用空格替换了 CRLF,因为它控制了参数输入。这可能是特定于浏览器的(关于更改)。最好的机制是使用一些 CRLF 编码,然后在运行时对其进行解码。
于 2012-06-16T09:03:59.370 回答