0

関数を使用してリストを印刷し、<%= %>それを印刷する Web サイトがあります。<div>次に、リスト内の項目が選択されたときに別の値を変更したいと考えています。

文字列を作成する関数は次のとおりです。

public String createInfoString(String s){

                       JavaBeans.CatalogueBean c = new JavaBeans.CatalogueBean(); 
                       JavaBeans.ProductBean pb[] = c.getProducts(); 


                       int posit = Integer.parseInt(s); 
                       String tempStr =
                       "<img src='Images" + pb[posit].getImageExtention() + "'            width='400' height='300'></img> </BR></BR>"+                                               
                       "Model: " + pb[posit].getName()+ "</BR></BR>" +
                       "Description: " + pb[posit].getDescription() + "</BR></BR>"+
                       "Number in stock: " + pb[posit].getNumAvailable() + "</BR></BR>";

                       return tempStr;

                       }

リストのコードは次のとおりです。

<ul  onclick="createInfoString(event.srcElement.id)">
                                      <li>
                    <div class="Folder">Accessories</div>
                                      </li>
                                            <%= createSideList()%>
                                </ul>

アイテムがクリックされたら、文字列を生成する必要があります (これは によって行われますcreateInfoString)。次に、その文字列を にプッシュする必要があり<DIV>ます。

JavaScript を使用すると、
document.getElementbyID("DisplayInfo").innerHTML = tempStr.
しかし、これは では機能しませんjsp

助けてください...

4

1 に答える 1

0

JSP はサーバー側で実行されます。何かがクリックされたときに何かをする必要がある場合は、JavaScript でクライアント側で行う必要があります。

したがって、基本的に2つの可能性があります。

  1. これらすべての HTML ブロックをページの非表示の div に埋め込みます。UL をクリックすると、Javascript を使用して適切な隠し div の内部 HTML を抽出し、それをDisplayInfodiv にコピーします。
  2. UL がクリックされたら、AJAX 要求を Web アプリに送信し、Web アプリが適切な HTML ブロックを返すようにし、AJAX 応答ハンドラーで、受信したコンテンツをDisplayInfodiv のコンテンツとして設定します。
于 2013-02-05T15:46:34.893 に答える