1

我一直在网上寻找支持,但我没有发现任何有用的东西。

我有一个包含1500个字符的大小约束的列的数据库表。我正在使用休眠作为数据库的 ORM。

我的问题是 HTML 文本区域中的换行符。在我的 HTML 表单中,我有一个maxlength设置为1500的 textarea 。在 HTML 文本区域中,换行符仅被视为一个字符。当我通过 servlet 提交表单时,换行符在 java中被视为两个字符。

所以假设我已经用1500个字符填写了 textarea ,其中包含 2 个换行符,java 将数据视为1502个字符传递。因此,当我将数据保存到数据库时,它超过了1500 个限制,因此违反了数据库列约束。

示例文本:

Lorem ipsum dolor sit amet, consectetur adipiscing elit。Vivamus in est eu augue facilisis viverra。Phasellus eu lectus a nisi feugiat aliquet quis ut velit。Nunc vehicula neque sat amet quam interdum viverra。Morbi aliquet consequat lorem non rhoncus。Sed m​​auris mi, scelerisque sit amet tempus molestie, dapibus vitae quam。Proin id massa velit,commodo facilisis velit。在 blandit, nibh quis auctor convallis, lectus nibh venenatis orci, quis dignissim sapien arcu eget erat。在 quis diam id mauris consectetur tempor sat amet sat amet justo。Donec egestas metus eu massa vestibulum ultrices。Quisque vitae scelerisque metus。Vestibulum vehicula mi id augue condimentum pellentesque。

Suspendisse tempus turpis lobortis turpis imperdiet vulputate。Fusce fringilla lorem et ligula feugiat id sodales nisi vehicula。Praesent gestas vestibulum ante,eget consequat magna molestie sat amet。Praesent egestas pharetra augue egestas imperdiet。Suspendisse ut elit augue,sit amet ornare nulla。Morbi cursus, diam at commodo gravida, elit lacus pulvinar lectus, vitae porttitor mauris sapien sed felis。前庭非 iaculis erat。Phasellus pharetra arcused dui porta tempus。Mauris lectus velit,cursus quis facilisis a,mattis rhoncus quam。Ut nisl nulla,malesuada imperdiet dictum id,sagittis quis orci。Duis bibendum pharetra quam eu pharetra。Fusce interdum nulla vel elit bibendum non pellentesque dui egestas。Praesent sed lacus sapien。Vesbulum id arcu neque, et faucibus lorem。福斯梅图斯。

段落之间的间隙包含 2 个换行符

我需要知道的是如何对换行符从 HTML 到 Java 进行不同的解释?

感谢您的帮助。

4

2 回答 2

2

您可以用\r\n行尾替换样式行\n尾:

str = str.replaceAll("(\\r)", "");

这应该只留下\n行尾。

于 2012-10-29T21:50:37.613 回答
0

html 和 java 中的换行符是相同的:\n可能发生的情况是你在你的textarea

Quisque vitae scelerisque metus. Vestibulum vehicula mi id augue condimentum pellentesque.\n (1)
\n(2)
Suspendisse tempus turpis lobortis turpis imperdiet vulputate. Fusce fringilla lorem et ligula feugiat id 
于 2012-10-29T21:51:34.077 回答