Visitの実装(その1)
Tapestryでは、通常のServlet APIを意識する必要が無いようになっています。
Tapestryでセッション情報を保持するのはVisitオブジェクトです。これは特定の形式を持つ必要は無いのですが、通常はJavaBeansの様にプロパティとアクセッサメソッドを持っていて、Serializableであるのが一般的のようです。
Visitオブジェクトは、以下のような実装にしました。
Visit.java
package bbs.view; import java.io.Serializable; import org.objectstyle.cayenne.access.DataContext; import org.objectstyle.cayenne.conf.Configuration; /** * Visitオブジェクト * * @author toolkit * @version $Revision$ */ public class Visit implements Serializable { private DataContext dataContext; public Visit() { super(); dataContext = Configuration.getSharedConfiguration().getDomain().createDataContext(); } public DataContext getDataContext() { return dataContext; } }
VisitオブジェクトをTapestryに知らせてあげるために、.applicationファイルに以下を記述しておきます。
MessageBoard.application(抜粋)
<property name="org.apache.tapestry.visit-class">bbs.view.Visit</property>
これでWebObjectsと同様な事が出来ます。
コンポーネント内では
Visit visit = (Visit)getVisit();
DataContext context = visit.getDataContext();
のような形でDataContextを取得できるようになりました。