2015-06-03 95 views
1

我想問一下如何使用下面的代碼使用scriptlet在jsp中迭代dataList。我知道建議使用jstl,但是,我需要在我的活動中使用腳本。請幫忙,謝謝!使用腳本在jsp中迭代dataList

<%@taglib uri="/WEB-INF/dlTagLib.tld" prefix="dl"%> 
<%@page language="java"%> 
<%@page import="java.util.*"%> 

<html> 
<head> 
    <title>Book Lists</title> 
</head> 
<%  
    DataList bookDataList = (DataList) request.getAttribute("bookData"); 
%> 
<body> 
    <table border="1"> 
     <tr> 
      <td>Title</td> 
      <td>Author</td> 
     </tr> 
     <dl:iterate dataList = "${bookDataList}"> 
      <tr> 
       <td><dl:get dataList = "${bookDataList}" column="book_title"/></td> 
       <td><dl:get dataList = "${bookDataList}" column="book_author"/></td> 
      </tr> 
     </dl:iterate> 
    </table> 
</body> 

+0

此代碼不起作用,因爲'bookDataList'是一個Java變量,'$ {bookDataList}'將在'pageContext','request','session'和'servletContext中搜索名爲'「bookDataList」 '。由於無法找到該屬性(至少從您在代碼中顯示的內容),則不會顯示任何內容。你在這裏不使用JSTL,只使用表達式語言。不過,我不支持scriptlet Q/As。 –

+0

@Luiggi門多薩我知道上面的代碼不會工作,因爲我不知道如何,這就是爲什麼我尋求適當的答案先生。就像我說我知道它建議使用jstl,但它是必需的使用scriptlet關於給定的活動 – Raven

+0

*我知道上面的代碼將無法正常工作,因爲我不知道*我已經解釋了爲什麼它不會無論如何工作。並且將它移植到scriptlet並不困難...... –

回答

0

這是怎樣的代碼可被使用的scriptlet一些假設:

  • DataList延伸或實現ListCollection或至少Iterable
  • 您正在使用Java 5或更高版本。
  • bookDataList的對象是Data型或類似的
  • 該類Data有你想要的數據/需要適當的干將東西。
<body> 
    <table border="1"> 
     <th> 
      <td>Title</td> 
      <td>Author</td> 
     </th> 
     <% 
      DataList bookDataList = (DataList) request.getAttribute("bookData"); 
      for (Data book : bookDataList) { 
     %> 
     <tr> 
      <td><%= book.getBook_Title() %></td> 
      <td><%= book.getBook_Author() %></td> 
     </tr> 
     <% 
      } 
     %> 
    </table> 
</body> 

如果有任何的假設之上是不正確,請在你的問題解決在這個崗位代碼指定。