[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 メーリングリストの案内