2013-02-05 21 views
0

我有一個網站,其中列表打印使用功能和<%= %>來打印它。然後我想在選擇列表中的項目時單獨更改<div>中的值。如何在jsp頁面中使用函數來更改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>,任何人都可以告訴我如何做到這一點?我會用
document.getElementbyID("DisplayInfo").innerHTML = tempStr
但這不適用於jsp

請幫忙...

回答

0

JSP是在服務器端執行的。如果您點擊某個事物時需要做某些事情,則必須在客戶端使用JavaScript進行操作。

所以你基本上有兩種可能性:

  1. 嵌入所有這些在HTML頁面中隱藏的div塊。當單擊UL時,使用Javascript提取適當隱藏div的內部HTML,並將其複製到DisplayInfo div。
  2. 單擊UL時,向您的web應用發送一個AJAX請求,讓您的webapp返回相應的HTML塊,並在AJAX響應處理程序中將接收到的內容設置爲DisplayInfo div的內容。
+0

好的,我想這可能是我出錯的地方。 有沒有什麼辦法可以調用.jsp頁面並將值傳給它?比如說用onclick事件,如果我要再次調用.jsp頁面並將它傳遞給所選項目的id,那麼該變量可以用來生成新版本的頁面,然後發送回客戶端? – user2043421

+0

是的。這就是所謂的請求參數:someUrl?id = foo –