• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストエリアの表示文字)

テキストエリアの表示文字の改行問題

このQ&Aのポイント
  • テキストエリアの表示文字に関する問題が発生しています。結果を表示する際に、データとデータの間に数行の改行が入ってしまいます。テキストエリアの位置の変更など試してみましたが、同じ問題が発生しています。
  • セレクトボックスの表示では改行がなく期待通りに表示されていますが、テキストエリアの表示では数行の改行が入ってしまいます。アドバイスをいただきたいです。
  • テキストエリアの表示文字の改行問題です。結果を表示する際に、データとデータの間に数行の改行が入ります。セレクトボックスでは改行がないため、同じようにテキストエリアでも改行がないように表示させたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.5

・ <textarea>の外枠は見えていますか? ・ 単純なことから確認していきましょう。 <textarea> <c:forEach var="plan" items="${result['vacation']}" varStatus="st"> <c:if test = "${plan['ID']=='101'}"> ${st.index}:【ABC】 </c:if> </c:forEach> </textarea> を試してみてください。どんな結果でしょう。 ・ 次は、 ${st.current}: 【ABC】 ・ いよいよ <textarea> <c:forEach var="plan" items="${result['vacation']}"> <c:if test = "${plan['ID']=='101'}"> <c:out value="${plan['PLACE']}"/> 【】 </c:if> </c:forEach> や <textarea> <c:forEach var="plan" items="${result['vacation']}"> <c:if test = "${plan['ID']=='101'}"> 【<c:out value="${plan['DATE']}"/>】 </c:if> </c:forEach> を少しずつ試しましょう。

noname#82982
質問者

お礼

提案していただいたものを試した結果、やはりデータ自体には問題がなさそうでしたが、あいかわらず表示が変なままでした。 どんなものを出力させても、表示される構造が変わらなかったので、やはり<textarea>、表示文字、</textarea>の位置の問題かと思い、色々試してみたらうまくいきました。 <textarea>、表示文字、を同じ行につらつらつなげて書き、閉じタグだけをまとめて次の行につらつら書きました。(閉じタグの行のインデントは0にして…)↓ <textarea><c:forEach var="plan" items="${result['vacation']}"><c:if test = "${plan['ID']=='101'}"><c:out value="${plan['PLACE']}"/>【<c:out value="${plan['DATE']}"/>】 </c:if></c:forEach></textarea> あきらめて、他の方法を考えようかと思っていましたが、こちらで質問をして、autyさんにお返事いただけて本当によかったと思っています。 ありがとうございました。 こういう場所での質問、実は苦手だったのですが(そんなこともわからないのか、ときつい言葉をもらって終わりだという先入観がありました)、これを機にまた質問をさせていただくことがあるかもしれません。ご縁があれば、またよろしくお願いいたします。

その他の回答 (4)

  • auty
  • ベストアンサー率58% (284/486)
回答No.4

<textarea> <c:forEach var="plan" items="${result['vacation']}"> <c:if test = "${plan['ID']=='101'}"> <c:out value="${plan['PLACE']}"/> 【<c:out value="${plan['DATE']}"/>】 </c:if> </c:forEach> </textarea> を試してみてください。

noname#82982
質問者

補足

リアルタイムのアドバイスありがたいです。 心より感謝いたします。 アドバイスを試してみましたが・・・ ******* 現状 ********** resultの1つ目の項目:値1-1resultの2つ目の項目:【値2-1】 resultの1つ目の項目:値1-2resultの2つ目の項目:【値2-2】 resultの1つ目の項目:値1-3resultの2つ目の項目:【値2-3】 ******* アドバイス適用後 ********** resultの1つ目の項目:値1-1resultの2つ目の項目:【値2-1】 resultの1つ目の項目:値1-2resultの2つ目の項目:【値2-2】 resultの1つ目の項目:値1-3resultの2つ目の項目:【値2-3】 です。 始めのデータの前にも改行が入るようになりました。 別の出力方法を考えた方がいいのでしょうか?

  • auty
  • ベストアンサー率58% (284/486)
回答No.3

実際にコードを示してもらえますか。

noname#82982
質問者

補足

実際のコードです。 <c:forEach var="plan" items="${result['vacation']}"> <c:if test = "${plan['ID']=='101'}"> <textarea><c:out value="${plan['PLACE']}"/> 【<c:out value="${plan['DATE']}"/>】</textarea> </c:if> </c:forEach> よろしくお願いします。

  • auty
  • ベストアンサー率58% (284/486)
回答No.2

確かめていませんが、ひょっとして <textarea> <c:forEach var="rec" items="${result}"> <c:out value="${rec}"> </c:forEach> </textarea> の様な形が正解ではありませんか。 必要なら改行も加える。 <c:out value='${rec+"\n"}'>

noname#82982
質問者

補足

すみません。 先ほどの補足が間違っていましたので、この場で訂正させていただきたいと思います。 ******* 期待している形 ********** resultの1つ目の項目:値1-1resultの2つ目の項目:【値2-1】 resultの1つ目の項目:値1-2resultの2つ目の項目:【値2-2】 resultの1つ目の項目:値1-3resultの2つ目の項目:【値2-3】 ******* 現状 ********** resultの1つ目の項目:値1-1resultの2つ目の項目:【値2-1】 resultの1つ目の項目:値1-2resultの2つ目の項目:【値2-2】 resultの1つ目の項目:値1-3resultの2つ目の項目:【値2-3】 です。 実際はご指摘のとおり、var属性指定しています。 以前これがなくてもやれた経験があった気がしたので、質問内容を簡潔にしたかったため、省略したつもりでした。

  • auty
  • ベストアンサー率58% (284/486)
回答No.1

${result}の中に改行文字が含まれているのでは。

noname#82982
質問者

補足

アドバイスありがとうございます。 質問の補足をさせていただこうと思います。 正確には <c:forEach item="${result}"> <textarea>resultの1つ目の項目:<c:out value="${result['item1']}"/>resultの2つ目の項目:【<c:out value="${result['item2']}"/>】 </c:forEach> のようなコードです。 ご指摘の通り、resultの中身に改行があるとすれば、【】の位置もずれてくると思うのですが、【】はきちんと表示されています。 ******* 期待している形 ********** resultの1つ目の項目:値1 resultの2つ目の項目:【値2】 ******* 現状 ********** resultの1つ目の項目:値1 resultの2つ目の項目:【値2】

関連するQ&A

専門家に質問してみよう