Java 文本区域中出现的换行符和空格
在我们的茧环境中,我们有一些带有文本区域的表单。用户提交表单后,在完成最终提交之前会显示一个概览。 因此,每个表单对象的数据都存储在POJO中。 如果用户在该概览页面上并决定返回表单,则表单将填充从POJO读取的已提交数据。但是,当使用来自JavaObject的数据填充textarea时,一些换行符和空格会添加到数据中。 我检查了POJO的数据中的这些换行符,但是字符串看起来很干净。用户输入的每个空格都是字符32,这是一个简单的空格 我还检查了序列化程序(我们使用一个扩展Cocoon的AbstractSerializer的自定义序列化程序),但没有意外添加换行符/空白 但是,当使用Javascript输出该文本区域的当前内容时,它包含换行符('\n')以及前面提到的附加空格 我的怀疑是,从Java的空格字符到HTML的空格字符的转换以某种方式失败了。 这些换行符显示在单个单词中,而不是空格。它们还根据文本区域的大小改变位置。它们不在一行的末尾,所以它们不能被包裹或其他东西强迫 例如:Java 文本区域中出现的换行符和空格,java,html,encoding,character-encoding,apache-cocoon,Java,Html,Encoding,Character Encoding,Apache Cocoon,在我们的茧环境中,我们有一些带有文本区域的表单。用户提交表单后,在完成最终提交之前会显示一个概览。 因此,每个表单对象的数据都存储在POJO中。 如果用户在该概览页面上并决定返回表单,则表单将填充从POJO读取的已提交数据。但是,当使用来自JavaObject的数据填充textarea时,一些换行符和空格会添加到数据中。 我检查了POJO的数据中的这些换行符,但是字符串看起来很干净。用户输入的每个空格都是字符32,这是一个简单的空格 我还检查了序列化程序(我们使用一个扩展Cocoon的Abstr
用户输入的“测试”变为“测试\n[36x空格]测试”这里有一个想法。。。您使用什么将页面实际输出到客户端?我并不完全熟悉Cocoon环境,但我假设您正在使用某种“模板化”引擎(JSP?Velocity?)。我说的是服务器端的实际文件,它有
textarea
元素;将包含textarea
元素的代码片段粘贴到这里,我们将看到。这些额外的换行符和空格是XSL转换的典型形式(开发时没有意识到此类换行符/空格问题)
您很可能在cocoon应用程序中使用XSLT,也许应该检查一下
你可以采取一些众所周知的注意事项。你可以开始了解这些