Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文本区域中出现的换行符和空格_Java_Html_Encoding_Character Encoding_Apache Cocoon - Fatal编程技术网

Java 文本区域中出现的换行符和空格

Java 文本区域中出现的换行符和空格,java,html,encoding,character-encoding,apache-cocoon,Java,Html,Encoding,Character Encoding,Apache Cocoon,在我们的茧环境中,我们有一些带有文本区域的表单。用户提交表单后,在完成最终提交之前会显示一个概览。 因此,每个表单对象的数据都存储在POJO中。 如果用户在该概览页面上并决定返回表单,则表单将填充从POJO读取的已提交数据。但是,当使用来自JavaObject的数据填充textarea时,一些换行符和空格会添加到数据中。 我检查了POJO的数据中的这些换行符,但是字符串看起来很干净。用户输入的每个空格都是字符32,这是一个简单的空格 我还检查了序列化程序(我们使用一个扩展Cocoon的Abstr

在我们的茧环境中,我们有一些带有文本区域的表单。用户提交表单后,在完成最终提交之前会显示一个概览。 因此,每个表单对象的数据都存储在POJO中。 如果用户在该概览页面上并决定返回表单,则表单将填充从POJO读取的已提交数据。但是,当使用来自JavaObject的数据填充textarea时,一些换行符和空格会添加到数据中。 我检查了POJO的数据中的这些换行符,但是字符串看起来很干净。用户输入的每个空格都是字符32,这是一个简单的空格

我还检查了序列化程序(我们使用一个扩展Cocoon的AbstractSerializer的自定义序列化程序),但没有意外添加换行符/空白

但是,当使用Javascript输出该文本区域的当前内容时,它包含换行符('\n')以及前面提到的附加空格

我的怀疑是,从Java的空格字符到HTML的空格字符的转换以某种方式失败了。 这些换行符显示在单个单词中,而不是空格。它们还根据文本区域的大小改变位置。它们不在一行的末尾,所以它们不能被包裹或其他东西强迫

例如:
用户输入的“测试”变为“测试\n[36x空格]测试”

这里有一个想法。。。您使用什么将页面实际输出到客户端?我并不完全熟悉Cocoon环境,但我假设您正在使用某种“模板化”引擎(JSP?Velocity?)。我说的是服务器端的实际文件,它有
textarea
元素;将包含
textarea
元素的代码片段粘贴到这里,我们将看到。

这些额外的换行符和空格是XSL转换的典型形式(开发时没有意识到此类换行符/空格问题)

您很可能在cocoon应用程序中使用XSLT,也许应该检查一下

你可以采取一些众所周知的注意事项。你可以开始了解这些