ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3522753 データベースから抽出した一覧に各々リンクを張るには??
質問者:t_118 Oracle10gを用いて下記のようなデータベースを作成し、それをWebアプリケーション上でサーブレットにより、さまざまな処理をするプログラムを作っています。

下記のような顧客リストがあるとします。

------------------------------------------
| 客先コード | 客先名 | 客先名カナ |
|----------------------------------------|
| 000000001 | 加藤商店 | カトウショウテン |
|----------------------------------------|
| 000000002 | 河東商店 | カトウショウテ2 |
|----------------------------------------|
| 000000003 | 木村商事 | キムラショウジ  |
|----------------------------------------|
   ・
   ・
   ・
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

例えば、この中からカナ前方一致検索で「カトウ」と入力すると

0001 加藤商店 カトウショウテン
0002 河東商店 カトウショウテ2

と表示され、上記「加藤商店」、「河東商店」にリンクを張りたいと思ってます。

これを実現するには、jspであれば、Jakarta TaglibsプロジェクトのJSTLの<c:url></c:url>タグを用いれば、各項目を別々のリンクにすることを実現できるように思います。

今回のような処理をJSTLを用いずに実現する方法を探しています。

説明がわかりにくいとは思いますが、ご教示いただけると幸いです。
困り度:
  • すぐに回答を!
質問投稿日時:
07/11/16 13:15
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.3 > 検索した結果にリンクを張るわけですから、各項目にハイパーリンクを付ける方法では対応できない気がしまして…

いいえ、もちろん「客先コードの値」と「客先名」は変数になります。

だからJSTLやEL式を使わないで書くなら↓みたいになります。
※客先情報はCustomerクラスで定義

<% List list = request.getAttribute("customerList");
for (int i=0; i<list.size(); i++) {
Customer customer = (Customer)list.get(i); %>
<a href="<%= request.getContextPath() %>/hoge?客先コード=<%= customer.getCustomerCode() %>"> <%= customer.getCustomerName() %></a>
<% } %>
回答者:yoshog
種類:回答
どんな人:経験者
自信:自信あり
回答日時:
07/11/19 12:55
この回答へのお礼なるほど!!分かりました。

こちらで試してみます。
ありがとうございました。

回答

ANo.2 回答1は、JSTLってかいてあったから、Javaを前提に回答しましたが、言語はJavaですか?

PHPやPerlなら別のやり方になります。
回答者:yoshog
種類:補足要求
どんな人:経験者
自信:参考意見
回答日時:
07/11/16 13:40
この回答への補足おっしゃるとおり、使用言語はJavaです。
サーブレットもしくはjspで処理をしようと考えています。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.1 回答になっているか分かりませんが、フレームワークとしてStrutsを使っているとしたら↓みたいな感じはいかがですか?

<a href="<%= request.getContextPath() %>/hoge.do?客先コード=0001">加藤商店</a>

<a href="<%= request.getContextPath() %>/hoge.do?客先コード=0002">河東商店</a>
回答者:yoshog
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
07/11/16 13:38
この回答への補足Strutsは使っていません。
そういった方法もあるんですか。勉強になりました。

上記のようなコードであれば、あらかじめ「加藤商店」「河東商店」にリンクを張ることが前提となってしまわないでしょうか?

検索した結果にリンクを張るわけですから、各項目にハイパーリンクを付ける方法では対応できない気がしまして…
この回答へのお礼この回答にお礼をつける(質問者のみ)