1

サポートをオンラインで検索しましたが、有用なものは見つかりませんでした。

1500文字のサイズ制限を含む列を持つデータベース テーブルがあります。データベースへのORMとして休止状態を使用しています。

私の問題は、HTML テキストエリアの改行文字にあります。私の HTML フォームには、maxlengthが1500に設定されているテキストエリアがあります。HTML テキストエリアでは、改行は1文字としてのみ認識されます。サーブレット経由でフォームを送信すると、Java で改行文字が2文字として認識されます。

そのため、2 つの改行を含む1500文字でテキストエリアに入力したと仮定すると、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 sit 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. 率直に言って、nibh quis auctor convallis、lectus nibh venenatis orci、quis dignissim sapien arcu eget erat. In quis diam id mauris consectetur tempor sit amet sit amet justo. Donec egestas metus eu massavestibulum 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 egestas vestibulum ante, eget consequat magna molestie sit 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. Vestibulum non iaculis erat。Phasellus pharetra arcus sed 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. Fusce metus。

段落間のギャップには 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おそらく発生しているのは、実際に2つの改行文字を使用していることです。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 に答える