質問 |
||
| 質問者:bmbmbm | テキストエリアの表示文字 | |
|---|---|---|
困り度:
|
result の中身を以下のようにして、テキストエリアで表示させようと思いました。 結果は、表示はされるのですが、データとデータの間に数行の改行が入って表示されてしまいます。 <c:forEach item="${result}"> <textarea><c:out value="${result}"></textarea> </c:forEach> <textarea>、<c:out value="${result}">、</textarea>の位置を変えたりしてみたのですが、結果は同じでした。 同じ方法で、セレクトボックスには改行なく期待通りに表示されたので、テキストエリアでもできると思ったのですが・・・ アドバイスよろしくお願いします。 |
|
質問投稿日時:08/03/26 10:51 質問番号:3895680 |
||
回答良回答20pt |
|
| 回答者:auty | ・ <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> を少しずつ試しましょう。 |
|---|---|
| 種類:アドバイス どんな人:経験者 自信:参考意見 |
|
| |
回答日時:08/03/27 03:33 回答番号:No.5 |
|
| この回答へのお礼 | 提案していただいたものを試した結果、やはりデータ自体には問題がなさそうでしたが、あいかわらず表示が変なままでした。 どんなものを出力させても、表示される構造が変わらなかったので、やはり<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さんにお返事いただけて本当によかったと思っています。 ありがとうございました。 こういう場所での質問、実は苦手だったのですが(そんなこともわからないのか、ときつい言葉をもらって終わりだという先入観がありました)、これを機にまた質問をさせていただくことがあるかもしれません。ご縁があれば、またよろしくお願いいたします。 |
回答 |
|
| 回答者:auty | <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> を試してみてください。 |
|---|---|
| 種類:アドバイス どんな人:経験者 自信:参考意見 |
|
| |
回答日時:08/03/26 15:27 回答番号:No.4 |
|
| この回答への補足 | リアルタイムのアドバイスありがたいです。 心より感謝いたします。 アドバイスを試してみましたが・・・ ******* 現状 ********** 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 | 実際にコードを示してもらえますか。 |
|---|---|
| 種類:アドバイス どんな人:経験者 自信:参考意見 |
|
| |
回答日時:08/03/26 13:53 回答番号:No.3 |
|
| この回答への補足 | 実際のコードです。 <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 | 確かめていませんが、ひょっとして <textarea> <c:forEach var="rec" items="${result}"> <c:out value="${rec}"> </c:forEach> </textarea> の様な形が正解ではありませんか。 必要なら改行も加える。 <c:out value='${rec+"\n"}'> |
|---|---|
| 種類:アドバイス どんな人:経験者 自信:参考意見 |
|
| |
回答日時:08/03/26 12:56 回答番号:No.2 |
|
| この回答への補足 | すみません。 先ほどの補足が間違っていましたので、この場で訂正させていただきたいと思います。 ******* 期待している形 ********** 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 | ${result}の中に改行文字が含まれているのでは。 |
|---|---|
| 種類:アドバイス どんな人:経験者 自信:参考意見 |
|
| |
回答日時:08/03/26 11:09 回答番号:No.1 |
|
| この回答への補足 | アドバイスありがとうございます。 質問の補足をさせていただこうと思います。 正確には <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】 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |