0

各アイテムがリストに保持されている複雑なオブジェクトから取得している新しいオブジェクトにデータを保存できる必要があります。

階層は次のとおりです。1)libraryId(ライブラリ)2)bookId(本)3)pageId(ページ)4)wordId(単語)

  • ライブラリには、0冊から多数の本を含めることができます。各ブックは一意であり、0から多数のpageIdを持つことができます。ページがある場合、各pageIdは0から多数の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; 
} 

私はこのようにそれを始めました:

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

私はこれを試しましたが、正しく機能しているかどうかはわかりません。上記の答えに基づいて、これは私がそれをした方法です。私は同じクラスなどです。

次のデータ例があります。

1ページの1冊の本、そのページは8語です。私は別の本を持っています。それは2ページあり、各ページには6つの単語があります。これが理にかなっていることを願っています。

上記の例に基づいて、このコードを作成する方法と、データを取得して戻す方法を教えてください。目的は、これをJSPに渡し、JSTLを使用してこれをテーブルに取得することです。このデータを取得するために、これに関するヘルプも役立ちます。

4

2 に答える 2

1

これは本当にあなたのフレームワークに依存します。あなたは罰の大胆であり、ストレートJSPを使用していますか?そうであれば、<jsp:useBean>を参照するか、スクリプトレット(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);
  }
}
于 2012-06-21T23:14:46.477 に答える
1

あなたはこのようにすることができます

<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>
于 2012-06-25T08:22:24.047 に答える