Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何循环并将值存储到ArrayList中,ArrayList将传递给JSP进行显示_Java_Jsp_Jstl - Fatal编程技术网

Java 如何循环并将值存储到ArrayList中,ArrayList将传递给JSP进行显示

Java 如何循环并将值存储到ArrayList中,ArrayList将传递给JSP进行显示,java,jsp,jstl,Java,Jsp,Jstl,我必须能够将数据存储在一个新的对象中,这是我从一个复杂的对象中获得的,其中每个项都保存在一个列表中 层次结构如下所示: 1) 图书馆ID(图书馆) 2) 书号(书) 3) pageId(第页) 4) wordId(word) 一个图书馆可以有零到多本书。每本书都是唯一的,可以有零到多个pageId,如果有一个页面,每个pageId可以有零到多个wordId 我有数据,但我需要循环遍历每个项目,并将其放入一个对象-ArrayList或类似对象-以便可以传递到另一个类,该类需要一个列表。在下一个

我必须能够将数据存储在一个新的对象中,这是我从一个复杂的对象中获得的,其中每个项都保存在一个列表中

层次结构如下所示: 1) 图书馆ID(图书馆) 2) 书号(书) 3) pageId(第页) 4) wordId(word)

  • 一个图书馆可以有零到多本书。每本书都是唯一的,可以有零到多个pageId,如果有一个页面,每个pageId可以有零到多个wordId
我有数据,但我需要循环遍历每个项目,并将其放入一个对象-ArrayList或类似对象-以便可以传递到另一个类,该类需要一个列表。在下一个类中,数据将显示在JSP数据表中

我有以下类别来完成这项工作:

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,但我不知道如何访问该书的内部元素