[Seasar-user:6243] Re: [Teeda]テーブルを表示できません

加藤 潤一 [E-MAIL ADDRESS DELETED]
2007年 2月 20日 (火) 02:44:00 JST


佐藤さん、

加藤です。

私もTeeda+S2Daoで実案件をとっているのですが、DoltengのscaffoldなコードとHTMLサンプルでだいぶ学習できました。

直接関係ないかもしれませんが、、、
<table id="bookGridXY" border="1"> のところのHTMLタグがDoltengが吐き出すものと違うような気がします。
<colgroup>, <thread>, <tbody>のタグないですね。

initializeか、prerender で、bookItemsに対して値が設定されていませんね。たぶん、これだと思います。
Doltengが吐き出すコードでは、GridのItemsはエンティティのはずなので、Dxoを使わずに(というか不要)素直にDaoでBookエンティティのリストを取ってきて、setBookItemsすればあとは勝手にTeedaが表示してくれるはずです。

それに、BookクラスとBookDTOクラスと二つ存在しているのが混乱のもとのような気もします。
Dxoを使う場合も、エンティティからページ、ページからエンティティの変換で済むので、統一されたらいかがでしょうか?


From: [E-MAIL ADDRESS DELETED] [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of satoh
Sent: Monday, February 19, 2007 8:12 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:6234] [Teeda]テーブルを表示できません

佐藤徹太郎です。お世話になっております。

現在、Dolteng 0.16.1(Teeda+S2Dao)でscaffoldを参考に開発を行っています。
Teeda(HTMLの方)で、テキストエリアにID番号を入力して、ボタンを押すと、画面が遷移して、データベースから取得したデータが
テーブルに表示されるというアプリを開発しているのですが、実行すると画面は遷移するけれども、テーブルは表示されません。
どうすればいいのかわかりません、ご教授いただけないでしょうか?

以下、HTMLとDoltengが自動生成したPageクラス。

returnBook.html

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="../../css/global.css"/>
<title>本の返却</title>
</head>
<body>
<form id="ReturnBookForm">
返却する本の管理番号を入力し、返却ボタンを押してください<br/>
管理番号: <input type="text" id="bookId"/><br/>
<input type="button" value="返却" id="goReturnBookConfirm"
    onclick="location.href='ReturnBookConfirm.html'"/>
</form>
</body>
</html>

ReturnBookPage.java

public class ReturnBookPage {

        private String bookId;

        public String getBookId() {
                return bookId;
        }

        public void setBookId(String bookId) {
                this.bookId = bookId;
        }

        public String initialize() {
                return null;
        }

        public String prerender() {
                return null;
        }

}

returnBookConfirm.html

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="../../css/global.css"/>
<title></title>
</head>
<body>
<table id="bookGridXY" border="1">
  <tr>
    <th>管理番号</th>
    <th>書名</th>
    <th>書棚番号</th>
    <th>棚番号</th>
  </tr>
  <tr>
    <td><span id="id">id</span></td>
    <td><span id="title">title</span></td>
    <td><span id="shelfNumber">shelfNumber</span></td>
    <td><span id="rowNumber">rowNumber</span></td>
  </tr>
</table>
</body>
</html>

ReturnBookConfirmPage.java

public class ReturnBookConfirmPage extends AbstractBookPage {

        private int bookIndex;

        private Book[] bookItems;

        private String id;

        private int rowNumber;

        private int shelfNumber;

        private String title;

        private BookInfoDao bookInfoDao;

        private RentInfoDao rentInfoDao;

        private BookDao bookDao;

        private String bookId;

-------- 中略, プロパティのセッター、ゲッター ----------------

        public String initialize() {
                getRentInfoDao().deleteRentDetail(bookId);
                getBookInfoDao().updateBookStatus("rentable", bookId);
                BookDTO bookDTO = getBookInfoDao().findBookPosition(bookId);
                bookDTO = getBookInfoDao().findBookInfo(bookId);
                if(bookDTO == null) {
                        throw new AppFacesException("E0000001");
                }
                getBookDxo().convert(bookDTO, this);
                return null;
        }

        public String prerender() {
                return null;
        }


}

以上、宜しく御願いいたします。














Seasar-user メーリングリストの案内