Java 如何循环并将值存储到ArrayList中,ArrayList将传递给JSP进行显示
我必须能够将数据存储在一个新的对象中,这是我从一个复杂的对象中获得的,其中每个项都保存在一个列表中 层次结构如下所示: 1) 图书馆ID(图书馆) 2) 书号(书) 3) pageId(第页) 4) wordId(word)Java 如何循环并将值存储到ArrayList中,ArrayList将传递给JSP进行显示,java,jsp,jstl,Java,Jsp,Jstl,我必须能够将数据存储在一个新的对象中,这是我从一个复杂的对象中获得的,其中每个项都保存在一个列表中 层次结构如下所示: 1) 图书馆ID(图书馆) 2) 书号(书) 3) pageId(第页) 4) wordId(word) 一个图书馆可以有零到多本书。每本书都是唯一的,可以有零到多个pageId,如果有一个页面,每个pageId可以有零到多个wordId 我有数据,但我需要循环遍历每个项目,并将其放入一个对象-ArrayList或类似对象-以便可以传递到另一个类,该类需要一个列表。在下一个
- 一个图书馆可以有零到多本书。每本书都是唯一的,可以有零到多个pageId,如果有一个页面,每个pageId可以有零到多个wordId
class Library{
int libraryId;
ArrayList<Book> books;
}
class Book {
int bookId;
ArrayList<Page> pages;
}
class Page {
int pageId;
ArrayList<Word> words;
}
class Word {
int wordId;
}
类库{
国际图书馆;
ArrayList书籍;
}
课堂用书{
国际图书编号;
数组列表页;
}
类页{
int pageId;
ArrayList词;
}
类字{
int-wordId;
}
我开始这样做:
Book book = new Book(); // create Book object
ArrayList<Page> pages = new ArrayList<Page>;
pages.add(new Page()); // add first page
pages.add(new Page()); // add next page
book.setPages(pages); // set reference to pages for book
Book Book=新书();//创建图书对象
ArrayList pages=新的ArrayList;
pages.add(新页面());//添加第一页
pages.add(新页面());//添加下一页
书籍。设置页(页);//为书本设置对页面的引用
我已经试过了。我不确定它是否正常工作。根据上述答案,我就是这样做的。我喜欢同样的课程等等
我有以下数据示例:
一本书,有一页,那一页有8个字。我还有一本书,有2页,每页6个字。我希望这是有道理的
基于上面的示例,如何编写此代码,以及如何检索数据?目的是将其传递给JSP,然后使用JSTL将其重设到表中。这方面的任何帮助,检索这些数据也会很有帮助。这实际上取决于您的框架。你是一个贪吃惩罚和使用直接JSP的人吗?如果是这样,请查看或使用scriptlet(ugh…)来填充“book”变量 否则,它将非常依赖于框架。类似春天的东西是:
@Controller
public class MyController {
@RequestMapping(...)
public ModelAndView processRequest(HttpServletRequest request,
HttpServletResponse response) {
Map<String, Object> model = new HashMap<String, Object>();
Book book = ...;
model.put("book", book);
return new ModelAndView("viewbook", model);
}
}
@控制器
公共类MyController{
@请求映射(…)
公共模型和视图processRequest(HttpServletRequest,
HttpServletResponse(响应){
映射模型=新的HashMap();
书本=。。。;
模型放置(“书”,书);
返回新的模型和视图(“viewbook”,模型);
}
}
您可以这样做
<c:forEach var="book" items="${bookList}">
<tr>
<td>${book.id}</td>
<td>${book.name}</td>
</tr>
<c:forEach var="page" items="${book.pages}">
<tr>
<td>${page.id}</td>
<td>${page.name}</td>
</tr>
</c:forEach>
</c:forEach>
${book.id}
${book.name}
${page.id}
${page.name}
不清楚要显示的数据是什么以及要检索的数据是什么。向我们展示您试图实现的JSP代码,以及您的具体目标。您能解释一下您希望数据示例中的结果是什么吗?我的目标是,我想在我的library对象中创建一个图书列表。-这将包含所有数据,例如:1本书,有1页,该页有8个单词。我还有一本书,有2页,每页6个字。我正在JSP中使用
。我的问题是在实现代码中将数据示例放入我拥有的类中。我希望这是有意义的。@Daniel我希望library对象保存book arrayList中的书籍。然后在该arraylist中,我希望它保存页面arraylist中的页面。然后在这里面,我希望它保存单词arrayListIf中的单词如果这是作业,请将其标记为:)谢谢,我现在需要在JSP中迭代这些数据。如果我传入book对象,我如何访问和显示较低级别的数据,在书中是pages arraylist数据,在书中是work数据?我使用的是foreach,但我不知道如何访问该书的内部元素