- PR -

動的な配列の宣言方法について(Dom)

1
投稿者投稿内容
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2006-10-27 22:57
xmlファイル検索機能をjspで作ろうと考えています。
全画面で検索語を受け取ってからの、jsp動作部分を改良しようと考えています。
以下の部分で、iは"条件equals(strKey)"になるとその数で、strmoon,strdayを生成してしまい、その下にあるifを実行してしまいます。
その後もiを何度も行わせ、条件にあうstrmoon、strdayを複数個生成したいのですが、
どうすればよいですか。どんなことでもいいので、教えていただけないでしょうか。

jspプログラムの概要です。
//変数宣言部分
<%
ArrayList Company=new ArrayList();
ArrayList Day=new ArrayList();
             :
             :
for(int i=0;i<clnNod.getLength();i++){
Node objNod=clnNod.item(i);
NodeList clnNod2=objNod.getChildNodes();
Node objNod2=clnNod2.item(1);

//全画面からのユーザ0入力検索文字strKeyがタグ内のテキストにあった場合のみif文以下を実行。
//目的として複数のタグから検索文字が見つかった場合に、そのタグの数だけstrcomapy生成できるようにしたい。
if( objNod4.equals(strKey)){
Company.add(clnNod2.item(0).getFirstChild().getNodeValue());
Day.add(clnNod2.item(2).getFirstChild().getNodeValue());
flag=true;
}
}
if(flag){
for(int j=0;j<Company.size();j++){ %>
<table border="0">
<tr>
<th style="color:#FFffFF;background:#0086b2; text-align:right;">会社名</th>
<td><%=Company.get[j] %></td></tr>
<tr>
<th style="color:#FFffFF;background:#0086b2; text-align:right;">日
</th>
<td><%=Day.get[j] %></td></tr>

//例外処理
:

[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2006-10-28 16:10 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-10-28 00:15
コードはなんだか長くて読んでいないのですが、データの数が確定しない段階から格納を始めたい、ということであれば ArrayList とか LinkedList を使ってはいかがでしょうか。

[ メッセージ編集済み 編集者: インギ 編集日時 2006-10-28 00:15 ]

[ メッセージ編集済み 編集者: インギ 編集日時 2006-10-28 00:16 ]
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2006-10-28 15:31
インギさんお返事ありがとうございます。
現在arraylistを使って、プログラムを書き直しています。

[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2006-10-28 16:22 ]
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2006-10-28 16:22
上記のプログラムでerrorが出てしまい、変数の使い方が間違っているのかと思います。
ささいな事からどんな事でもいいので教えていただけないでしょうか。
何故なのかarraylistの使い方について調べてみようと思います。
どんなことでもいいので、教えてください。よろしくお願いいたします。

       
エラー内容:変数.get cannot be resolved or is not a field




[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2006-10-28 16:56 ]
flakwing
会議室デビュー日: 2006/07/21
投稿数: 7
投稿日時: 2006-10-28 16:54
コード:
<td><%=Company.get[j] %></td></tr> 


ではなくて
コード:
<td><%=Company.get(j) %></td></tr> 


じゃないでしょうか
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2006-10-28 17:06
flakwingさん、ご返事ありがとうございます。まさにそのとおりでした。
ご指摘いただいてよく見た瞬間、ハッとしました。

インギさん、flakwingさんのおかげです。ありがとうございました。



[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2006-10-28 17:22 ]
1

スキルアップ/キャリアアップ(JOB@IT)