• 締切済み

JSP内でfor文を使用し、出力結果にそれぞれ違う値を入れ、サーブレットで受け取りたいです。分かる方教えてください。

JSP内でfor文を使用し、出力された値それぞれに違う値を設定し、それをサーブレットで受け取りたいのですが? 分かる方教えてください。 <%Integer N = 0; Integer I = (Integer)session.getAttribute("I"); %> <%for(int i=0; i<list.size(); i++){ ListBeanServlet lBean = (ListBeanServlet) list.get(i);N++;%> <a href="/myHtml/ResultS" ><font size="3" color="white"> <c:set var="param" /><%=N%>/<%=lBean.getLMusic()></font></a><br> <%session.setAttribute("param",N); } %> この様に変数Nに値をいれ、N++で各結果に数字符合をして、 出力結果<a href>ひとつひとつに値を設定しようと思うのですが。 Nの値がやはりfor文の最期の値になってしまい。 出力結果の値が全て同じになってしまいます。 (1)List.sizeは不定数です。 (2)form/hiddenを使ってみたものの、変数の値がnullになってしまう。 <% for(int i=I-1; i<list.size(); i++){ ListBeanServlet lBean = (ListBeanServlet) urList.get(i);%> <param name="FileName" value="<%=lBean.getUrl()%>"> <%} %> 同じJSP内の違う場所にサーブレットを使用し送り、 クリックした<a herf>によって違う設定をしたいのですが? 分かる方教えてください。

みんなの回答

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

ウェブアプリケーションの動作の基本 (1)ウェブブラウザから、サーブレットコンテナへリクエストが送られます (2)JSPはサーバサイドで実行されます。 (3)JSPの実行結果は、HTMLとして、ウェブブラウザへ送信されます。 (4)HTML内の、<a href>をクリックする処理は、ウェブブラウザ上でユーザが行います。 (4)<a href>をクリックすると、また、ウェブブラウザから、サーブレットコンテナへ新しいリクエストが送られます。...以下(1)へと続く。 この流れがわかっていますか? わかっているなら、ウェブアプリケーションのメカニズムに合った、処理の流れに設計し直せばよいですよ。

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

> 同じJSP内の違う場所にサーブレットを使用し送り、 > クリックした<a herf>によって違う設定をしたいのですが? > 分かる方教えてください。 日本語として、間違っているようですよ。 何を言いたいのでしょうか。 ウェブアプリケーションのメカニズムを理解していないかと、推測します。 そちらから、勉強されてみては、いかがでしょう。

GENto2
質問者

補足

確かに、、、。 日本語も勉強しなおします。 (1)JSP内でfor文を使用 (2)Nをインクリメント (3)for文によって出力される<a herf>各自に値を設定 (4)一度その値をサーブレットに送る (5)値をIに挿入する (5)元のJSP内Getメソッドにセットして値を引き出す この作業をしたいと思っているのですが、 どうしてもNの値がfor文内の一番最後のインクリメント後のNになってしまい、各<a herf>に違う値が入れられないと言う状況です。 簡単に説明すると「ブラウザ側で、表示された<a herf>をクリックする毎に違うデータを参照したい」のですが。 わかりますか? お願いします、教えてください。

関連するQ&A