[英]JSP how to link between 2 java classes to add items to arraylist and display them in JSP
[英]How to display ArrayList items from java in jsp?
我生成了一个Arraylist,从数据库中逐行获取项目。 我想在jsp中显示值,但是我不知道如何将jsp绑定到java。
在java类中,listBook是BookBean类型的Arraylist。
BookDao类:
public ArrayList<BookBean> listBooks = new ArrayList<>();
....
System.out.println(listBooks.get(0).getId()); ->display id of first row
System.out.println(listBooks.get(0).getTitle()); ->display title of first row
System.out.println(listBooks.get(0).getAuthor());
在我的Controller课上,我有:
public String showBooks(Model bookModel){
bookModel.addAttribute("bookAttribute", new BookDao());
return "book-list";
}
我想通过使用Controller中的Model在jsp中打印listBook的结果。 我怎样才能做到这一点?
BookDao:
public ArrayList<BookBean> listBooks = new ArrayList<>();
public void generateBookList() {
try {
Connection connection = ConnectToDatabase.createConnection();
if (connection != null) {
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * from book ");
ResultSet resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
BookBean bookBean = new BookBean(resultSet.getInt("id_book"), resultSet.getString("title"), resultSet.getString("author"), resultSet.getString("publishDate"), resultSet.getInt("quantity"), resultSet.getString("bookPrice"));
listBooks.add(bookBean);
} }
} catch (Exception e) {
e.printStackTrace();
}}
BookController打开jsp页面“ book-list.jsp”:
@Controller
public class BookController {
@RequestMapping("/showBooks")
public String showBooks(Model bookModel){
bookModel.addAttribute("bookAttribute", new BookDao());
return "book/book-list";
}
}
我想通过控制器中创建的Model通过jsp访问“ listBooks”。 我当时在想jstl,但是我无法相应地编写代码。
您可以使用jstl核心标记<c:forEach>
。 如果您需要遍历列表,可以执行以下操作:
在BookController中,将您的列表传递给模型:
model.addAttribute("bookList", yourList);
在JSP中:
...
<c:forEach items="${bookList}" var="book">
${book.id} <%-- BookBean fields that you want print out--%>
${book.title}
<%-- another fields --%>
</c:forEach>
...
在JSP页面上,只需执行以下操作:
<%
out.println(listBooks.get(0).getId()); ->display id of first row
out.println(listBooks.get(0).getTitle()); ->display title of first row
out.println(listBooks.get(0).getAuthor());
%>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.