「みんな教えて! 選手権!!」開催のお知らせ

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>によって違う設定をしたいのですが?
分かる方教えてください。

A 回答 (2件)

ウェブアプリケーションの動作の基本



(1)ウェブブラウザから、サーブレットコンテナへリクエストが送られます
(2)JSPはサーバサイドで実行されます。
(3)JSPの実行結果は、HTMLとして、ウェブブラウザへ送信されます。
(4)HTML内の、<a href>をクリックする処理は、ウェブブラウザ上でユーザが行います。
(4)<a href>をクリックすると、また、ウェブブラウザから、サーブレットコンテナへ新しいリクエストが送られます。...以下(1)へと続く。

この流れがわかっていますか?

わかっているなら、ウェブアプリケーションのメカニズムに合った、処理の流れに設計し直せばよいですよ。
    • good
    • 0

> 同じJSP内の違う場所にサーブレットを使用し送り、


> クリックした<a herf>によって違う設定をしたいのですが?
> 分かる方教えてください。
日本語として、間違っているようですよ。
何を言いたいのでしょうか。

ウェブアプリケーションのメカニズムを理解していないかと、推測します。
そちらから、勉強されてみては、いかがでしょう。

この回答への補足

確かに、、、。
日本語も勉強しなおします。

(1)JSP内でfor文を使用
(2)Nをインクリメント
(3)for文によって出力される<a herf>各自に値を設定
(4)一度その値をサーブレットに送る
(5)値をIに挿入する
(5)元のJSP内Getメソッドにセットして値を引き出す
この作業をしたいと思っているのですが、
どうしてもNの値がfor文内の一番最後のインクリメント後のNになってしまい、各<a herf>に違う値が入れられないと言う状況です。

簡単に説明すると「ブラウザ側で、表示された<a herf>をクリックする毎に違うデータを参照したい」のですが。
わかりますか?
お願いします、教えてください。

補足日時:2008/11/14 00:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報