2015-06-03 53 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> 

如果有任何的假设之上是不正确,请在你的问题解决在这个岗位代码指定。