0

我有一个网站,使用函数打印列表并<%= %>打印它。I then want to change the value in a separate <div>when an item in the list is selected.

这是创建字符串的函数:

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),然后我需要将该字符串推入 a <DIV>,谁能告诉我如何做到这一点?

使用 JavaScript 我会使用
document.getElementbyID("DisplayInfo").innerHTML = tempStr.
但这不适用于jsp.

请帮忙...

4

1 回答 1

0

JSP 在服务器端执行。如果您需要在单击某项时执行某项操作,则必须在客户端使用 JavaScript 完成。

所以你基本上有两种可能:

  1. 将所有这些 HTML 块嵌入页面中的隐藏 div 中。单击 UL 时,使用 Javascript 提取相应隐藏 div 的内部 HTML 并将其复制到该DisplayInfodiv。
  2. 单击 UL 时,向您的 webapp 发送 AJAX 请求,使您的 webapp 返回相应的 HTML 块,并在 AJAX 响应处理程序中,将接收到的内容设置为DisplayInfodiv 的内容。
于 2013-02-05T15:46:34.893 回答