• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JSPでテキストボックスのループ作成についての質問)

JSPでテキストボックスのループ作成についての質問

このQ&Aのポイント
  • JSPでテキストボックスを作成してループで10個に増やす処理をしようとしています。現在、property="aaa<%=a%>"がaaa1としたいのですがaを1と認識してくれていません。大変恐縮ですが、property=aaa1,aaa2…と変化する方法を教えていただけないでしょうか。
  • strutsで開発を行っている中で、JSPでテキストボックスのループ作成について困っています。テキストボックスを作成したときにpropertyが変化していないために2行目以降が登録できないエラーが発生しています。ループでテキストボックスを作成し、そのpropertyを変化させる方法について教えていただけないでしょうか。
  • 開発中のstrutsプロジェクトで、JSPでテキストボックスのループ作成に関して問題が発生しています。property="aaa<%=a%>"という形でテキストボックスを作成し、aを1から10までループさせたいのですが、aを1と認識してくれません。テキストボックスのpropertyを変化させる方法について教えていただけると助かります。

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

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

無理よ。 <text:html>のpropertyではそのように記述できないわ。 私なら aaa,bbbをaaa1,bbb1,aaa2,bbb2・・・ と定義するんじゃなくて 配列やコレクションにして iteratorタグで回すわ。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.1

カスタムタグの中では、<%= ~ %>の様な、Java のコードは使えないみたいですよ。 カスタムタグを使わないか、または、EL 式を使うと良いんじゃないかな。

zhuque
質問者

お礼

Yanch様> 貴重なご意見ありがとうございます。 EL式というのは初めて知りました。 EL式というのをもう少し調べてみたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • テキストボックス値をsetPropertyでセット

    HTMLのテキストボックス<input type="text">値を JSPのsetPropertyでセットBeanのフィールドとしてセットし、 Servlet側で取得したいと思っています。 JSPでのsetPropertyの書き方は次のようで、 直接valueに値を書く(またはbeanからとってきた値を書くようですが、 [質問1.]テキストボックスに入力された値を代入することは可能でしょうか? [質問2.]どのように記述すればよろしいのでしょうか。 ---JSP setPropertyの記述 <jsp:setProperty name="オブジェクト変数"             property="プロパティ"             value="プロパティ値"             param="パラメータ" />

  • ボタンを押すとテキストボックスが増えるJavaScriptについて教えてください

    Javascriptで質問です。 <input type="text" name="hoge1" value=""> <input type="text" name="hoge2" value=""> <input type="text" name="hoge3" value=""> というようなテキストボックスがあり、「追加」というボタンを押すと 新たなテキストボックス <input type="text" name="hoge4" value=""> が追加されるようなJavascriptを作成したいと考えています。 新たに作られたテキストボックスには name="hoge4" name="hoge5" ・ ・ ・ というように、nameの部分に「hogeの右にある番号に1ずつ加算された名前」を付けていきたいのです。 検索すると、テキストボックスを追加していくだけのサンプルはいくつかあったのですが、nameの部分を加算していく、という例が無くて行き詰っています。 よろしくお願いいたします。

  • テキストボックスに遷移するごとに○が追加されるjsp

    こんにちは。 前にも質問させていただきましたが、再度お願いします。 画像のようなテキストボックスがあり、OKボタンを押下するごとに○が1つずつ追加され、全部埋まった状態でOKを押すとまた最初からになるというjspなんですが、下記コードまではこぎつけましたが、分からなくなりました。 ------------------------------------------------- <%@page language="java" %> <%@page contentType="text/html;charset=Shift_JIS" %> <% int index = -1; request.setCharacterEncoding("SHIFT_JIS"); String strBox=request.getParameter("box"); if(strBox!=null){ session.setAttribute("box",strBox); %> <HTML><HEAD><TITLE>問題1</TITLE> </HEAD><BODY> 問題1<BR> <FORM ACTION="mondai1.jsp" METHOD="post"> <% for(int i=0; i<9; i++){ String value=""; if(i<=index){ value="○"; } %> No.<%=i+1%><input type="text" name="box" value="<%=value%>"><BR> <%}%> <% index++; %> <INPUT TYPE="submit" VALUE="ok"> </FORM> </BODY></HTML> ------------------------------------------------- 以上がコードです。 1回目は上手くいきますが、2回目以降もテキストボックスの中に○が追加されません。 「session.getAttribute()」の使い方がよく分かりません。 画像は1枚目が1番最初or全部埋まってからまた戻ってきたもの、2枚目が3回目、3枚目が9回目のものです。 ご教示お願いします。

    • ベストアンサー
    • Java
  • ボタンを押してテキストボックスを追加しテーブルの作成

    avascriptでテキストボックスを追加したいのです。テーブルを組んで複数のnamaの違うボックスを追加したいです。 下記のようにイメージして書いたのですが、考えが詰まりました。 テーブルでなくても、2列複数行の形になればいいんですが・・・ 教えて下さい。よろしくお願いします。 <script type="text/javascript"> <!-- var tag_num = 4; function myAdd(){ var oTag = document.createElement("input"); oTag.setAttribute("type", "text"); oTag.setAttribute("name", "hoge" + tag_num++); oTag.setAttribute("name", "fuga" + tag_num++); var oDiv = document.getElementById("area"); oDiv.appendChild(oTag); } --> </script> </head> <body> <form id="form1" action="check.php" method="post"> <span id="area"> <table style="text-align: left; width: 100px;" border="1" cellpadding="2" cellspacing="2"> <tbody> <tr> <td><input type="text" name="hoge1" value=""></td> <td><input type="text" name="fuga1" value=""></td> </tr> <tr> <td><input type="text" name="hoge2" value=""></td> <td><input type="text" name="fuga2" value=""></td> </tr> <tr> <td><input type="text" name="hoge3" value=""></td> <td><input type="text" name="fuga3" value=""></td> </tr> </tbody> </table> </span> <input type="button" value="Add" onClick="myAdd()"> </form>

  • テキストボックスに関して質問です

    ページ間でのテキストボックスからテキストボックスへの文章の移行って可能でしょうか? tezt1.htmlってページにある 名前⇒<INPUT TYPE="text" NAME="name1"> 住所⇒<INPUT TYPE="text" NAME="adres1"> のテキストボックスに入力された文章を 入力ボタン <INPUT type="button" value="入力" onClick="・・・・・"> を押すと、下に用意してあるテキストボックス(別ページ)に入力した値が入るようにしたいのです。 tezt2.htmlの 名前⇒<INPUT TYPE="text" NAME="name2"> 住所⇒<INPUT TYPE="text" NAME="adres2"> 事情が有り一つのページで行えません。 フレームわけしたページで移行して使用したいのですが… 質問し方が悪くて大変申し訳有りません。宜しくお願いします。

    • ベストアンサー
    • HTML
  • テキストボックスに初期値を入れる

    <form> <input type= "text" name ="forward" value = "$a[0]"> </form> $a[0]には整数が入っています。 上記テキストボックスに変数$a[0]の値を入れたいのですが上記プログラムではうまくいきませんでした。どうすればテキストボックスの初期値に&a[0]の中身が入るようになるのでしょうか?お願いいたします。

    • ベストアンサー
    • PHP
  • 追加したテキストボックスとテキストエリアの数の制御

    下記のようにテキストボックスとテキストエリアの数をボタンを押すことによって増やしていきます。 で、テキストボックスとテキストエリアは最大10個までとしたいのですが、どのようにしたらいいでしょうか? あとテキストエリアを追加していくとテキストエリアとテキストエリアの間が詰まってしまいます。間を空ける方法はないでしょうか? <script type="text/javascript"> function myAdd(){ var oTR=document.createElement("tr"); var c=count("mat"); var names=["mat","qua"]; for(var i in names){ var oTD = document.createElement("td"); var oTag = document.createElement("input"); oTag.setAttribute("type", "text"); oTag.setAttribute("name", names[i] + (c+1).toString()); oTD.appendChild(oTag); oTR.appendChild(oTD); } document.getElementById("t0").getElementsByTagName("tbody")[0].appendChild(oTR); } function count(name){ var tags=document.getElementsByTagName("input"); var c=0; var reg=RegExp("^"+name+"[0-9]+$"); for(var i=0;i<tags.length;i++){ if(tags[i].name.match(reg)){ c++; } } return c; } var tag_num = 4; function myTextAreaAdd(){ var oTag = document.createElement("textarea"); oTag.setAttribute("name", "foo" + tag_num++); var oDiv = document.getElementById("area"); oDiv.appendChild(oTag); } </script> </head> <body><form method="post" enctype="multipart/form-data" action="check.php"> <table id="t0" border> <tbody> <tr><td><input type="text" name="mat1" value=""></td> <td><input type="text" name="qua1" value=""></td> </tr> <tr><td><input type="text" name="mat2" value=""></td> <td><input type="text" name="qua2" value=""></td> </tr> <tr><td><input type="text" name="mat3" value=""></td> <td><input type="text" name="qua3" value=""></td> </tr> <tr><td><input type="text" name="mat4" value=""></td> <td><input type="text" name="qua4" value=""></td> </tr> </tbody> </table> <input type="button" value="追加する" onClick="myAdd()"> <br /> <span id="area"> <textarea name="foo1"></textarea> <textarea name="foo2"></textarea> <textarea name="foo3"></textarea> <textarea name="foo4"></textarea> </span><br /> <input type="button" value="追加する" onClick="myTextAreaAdd()"><br /> </form>

  • テキストボックスの初期値について

    テキストボックスに初期値を入れたいときは <input name="text1" type="text" value="初期値"> というように、valueで指定すると思うのですが、 初期値に【"】半角のダブルクオートを含めたい場合は どのように記述するのですか? <input name="text1" type="text" value=""初期値""> のように記述すると空白が表示されてしまいます。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • テキストボックス内を書き込み禁止にする

    <input name="read" type="text" value="img001.jpg"> とあるようなテキストボックスを作ったとして、このテキストボックスの初期値を変更されないようにテキストボックスを書き込み禁止にしたいのですが、、。 どのようにすればいいのでしょうか? わかる方どうかよろしくお願いします。 (゜◇゜o)

    • ベストアンサー
    • HTML
  • ループを使ってテキストボックスにマスクをかける

    以前質問した「テキストボックスの名前に変数をつける」の 続きです。 取得した数をループを使ってテキストボックスに 挿入するのは、下記の方法で出来たのですが、 For 回数 = 1 To 挿入回数 Controls("Text" & カウンタ).Text = 取得した数 カウンタ = カウンタ + 1 Next これと同様に、ループを使って 挿入したテキストボックスにマスクをかける (テキストボックスに入力不可状態にする) 方法はあるのでしょうか? Lockedとか使ってみてもダメでした。