#改行を含んだ文字列をmySOLに保存しその後出力したい
クライアントより<textarea>で入力された文字列をMySQLに保存しています。
文字列を保存するだけなら問題はないのですが、
改行を含んだ文字列の保存がうまくいっておりません。
DBへ保存後、出力をしても改行の情報を保ったままにしたいです。
記載コードのように置換を行いDBへ保存をしてみたのですが
改行がスペースとなって出力されます
##うまくいかない例
入力値:こんにちは
おはようございます。
出力値:こんにちは おはようございます。
のように改行がスペースとなってしまう。
何かアドバイスをいただけると幸いです。
mySQL: 8.0.18
Spring boot: 2.0
Macを使用
java
1String messageContent = messageForm.getMessageContent(); 2 String lineCd = System.getProperty("line.separator"); 3 //入力値の改行コードをmysqlの改行コードへ変換 4 String newMessageContent = messageContent.replace(lineCd, "\r\n"); 5 //入力値を保存 6 messageRepository.sendMessage(newMessageContent);
html
1<body th:with="user = ${#authentication.principal.user}"> 2 <h1>メッセージ</h1> 3 <form th:action="@{'/profile/'+${receiverUser.userId}+'/message'}" 4 th:object="${messageForm}" method="POST"> 5 6 <!--メッセージの入力--> 7 <textarea placeholder="メッセージを入力してください" th:field="*{messageContent}" 8 wrap="hard"> 9 </textarea> 10 <input type="submit"> 11 12 </form> 13 <!--メッセージの出力--> 14 <div th:each="message:${messages}"> 15 <p th:text="${message.senderUser.userId==senderUser.userId}? 16 ${senderUser.userName}:${receiverUser.userName}" /> 17 <p th:text="${#dates.format(message.messageTime,'MM/dd HH:mm')}"></p> 18 <p th:text="${message.messageContent}"></p> 19 <hr /> 20 </div> 21</body>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/18 02:57
2020/03/18 02:58
2020/03/18 02:59
2020/03/18 06:14
2020/03/18 06:15