My favorites | Sign in
t-2
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
FAQ  

ja, en
Updated Mar 24, 2011 by shinpei.ohtani@gmail.com

良くある質問集

T2に関してよくある質問集をまとめてみました.

T2自身に関すること

T2って何なの?

T2はWebアプリケーションフレームワークの一種です.

どうして他にWebフレームワークがたくさんあるのにT2つくったの?

私が探した限りでは、T2のように通常のHTTP GET/POSTだけでなく、Ajax通信をサポートしたり、FlexのAMF通信をサポートしたり、 様々なWebクライアントを透過的にサポートしたりしているWebフレームワークがありませんでした. また昨今のフレームワークは重厚だったり巨大過ぎたりするので逆にシンプルに使いたい場合にとても面倒です. そのため、自分で依存が少なくシンプルで近代的なWeb通信をあらかじめサポートしたフレームワークを作ってみる事にしました.

ライセンスは?

ASL2.0です.

設定に関すること

DIコンテナを切り替えたい場合はどうすればいいの?

ContainerAdapterを使って切り替える事が出来ます. 現在T2では以下のContainerAdapterを準備しています. (package名などは0.5からです.)

ContainerAdapter名 詳細 クラス名
SimpleContainerAdapter 自前管理のアダプタ org.t2framework.t2.adapter.SimpleContainerAdapter
LucyContainerAdapter 軽量DIコンテナであるLucy用 org.t2framework.t2.adapter.LucyContainerAdapter
Seasar2Adapter Seasar2用アダプタ org.t2framework.t2.adapter.Seasar2Adapter
SpringAdapter Spring用アダプタ org.t2framework.t2.adapter.SpringAdapter
GuiceAdapter Guice用アダプタ org.t2framework.t2.adapter.GuiceAdapter

設定自体はweb.xmlにします. web.xml上のT2Filterのinit-paramでt2.container.adapterというキーで ContainerAdapterのクラス名を渡してやります.

下記はSeasar2Adapterの設定例です.

<filter>
	<filter-name>t2</filter-name>
	<filter-class>org.t2framework.filter.T2Filter</filter-class>
	<init-param>
		<param-name>t2.rootpackage</param-name>
		<param-value>examples.employee.page</param-value>
	</init-param>
	<init-param>
		<param-name>t2.container.adapter</param-name>
		<param-value>org.t2framework.t2.adapter.Seasar2Adapter</param-value>
	</init-param>
	<init-param>
		<param-name>t2.eagerload</param-name>
		<param-value>true</param-value>
	</init-param>
</filter>

DIコンテナは使いたくないけど、T2のみ使いたい場合はどうすればいいの?

上記のContainerAdapterのクラス指定に、SimpleContainerAdapterを 設定します.

SimpleContainerAdapterのクラス指定は下記のようになります.

org.t2framework.t2.adapter.SimpleContainerAdapter

SimpleContainerAdapterはDIコンテナのもつあらゆるインジェクション機能を 持たない点だけ注意が必要です.また、その場合T2のeagerloadオプションをtrueに しておいてください.

設定例は下記のようになります.

<filter>
	<filter-name>t2</filter-name>
	<filter-class>org.t2framework.filter.T2Filter</filter-class>
	<init-param>
		<param-name>t2.rootpackage</param-name>
		<param-value>examples.employee.page</param-value>
	</init-param>
	<init-param>
		<param-name>t2.container.adapter</param-name>
		<param-value>org.t2framework.t2.adapter.SimpleContainerAdapter</param-value>
	</init-param>
	<init-param>
		<param-name>t2.eagerload</param-name>
		<param-value>true</param-value>
	</init-param>
</filter>

T2の使い方に関すること

input type="image"を使う場合はどうすれば良いか?

以下のようにname属性に"add"を指定した場合

<input type="image" src="abc.png" name="add" value="add" />

対応するPageクラスのメソッドは、以下のようになります。

@POST
@ActionParam
public Navigation add(WebContext context) {
    ...
}

但しブラウザがIEの場合には、以下のようにActionParamに .x という値を設定する必要があります。

@POST
@ActionParam("add2.x")
public Navigation imgTest(WebContext context) {
    ...
}

もしくは、input type="submit"を利用してCSSでボタンを画像に差し替える方法をお勧めします。

T2は、JDKのどのバージョンで動くの?

T2だけでなく、T2プロジェクト全体で言える事ですが、JDK6以上 のJDKが必要です.

T2は、Tomcatのバージョンで言うとどれから動くの?

T2は以下の仕様に依存しています.

  • Servlet仕様(2.5以上)
  • JSP(JavaServer Pages)仕様(2.0以上)

そのため、Tomcatのバージョンで言うと、Tomcat6 から動かすことが出来ます.

T2は、一般的なアプリケーションサーバ上動くの?

Servlet2.5/JSP2.0を満たすアプリケーションサーバ上で稼働します. Websphere/WebLogic/JBoss/Glassfish/Tomcatなどの一般的なアプリケーションサーバでは稼働します. もし何らかの不具合がある場合は、T2ユーザMLなどにご連絡ください.

TOPに戻る

Powered by Google Project Hosting