SAStruts の Maven Archetype 1.0.4-sp9.1 をリリース

SAStruts のサイトにて、Maven Archetype を公開しているのですが、DBFlute がリリースされたので、それに合わせて更新しました。かなり久しぶりのリリースになります。まぁ、Seasar2 自体がたまにしかリリースされないので、更新する理由がないので仕方がありませんが。というわけで、Maven な方は DBFlute Maven Plugin と合わせて、ご利用していただけると嬉しいです。

commons-fileupload 1.2.1を使うには

SASTRUTS-128 で登録したのだけど、SAStruts で commons-fileupload 1.2.1 を使うと、アップロード時に一時ファイルが作成されたら、それを自動削除する機能が動きませぬ。まぁ、そもそもは commons-fileupload が 1.2 から 1.2.1 に上がったときに仕組みを変えるという、結構、大胆な感じなことをやってくれたため。そんなわけで、commons-fileupload 1.2.1 を利用したい場合にはどうすべきか。Fess では早速対応してみた。

まず、FessMultipartRequestHandler みたいなものを用意して、commons-fileupload 1.2.1 に対応する必要がある。これ を参照。そんで、web.xmlに追加する。

<listener>
<listener-class>org.apache.commons.fileupload.servlet.FileCleanerCleanup</listener-class>
</listener>

さらに、struts-config.xmlを以下のように変更しておく。

<controller
maxFileSize="1024K"
bufferSize="1024"
processorClass="org.seasar.struts.action.S2RequestProcessor"
multipartClass="jp.sf.fess.upload.FessMultipartRequestHandler"/>

以上。

sa-struts-archetypeでmobylet対応

sa-struts-archetype 1.0.4-sp7.1 をリリースしました。変更点は mobylet 対応です。use-mobylet を true としてあげれば、mobylet 対応の SAStruts プロジェクトがさっくり作れます。実行方法は

mvn archetype:generate -DarchetypeRepository=https://www.seasar.org/maven/maven2/ \
-DarchetypeGroupId=org.seasar.sastruts -DarchetypeArtifactId=sa-struts-archetype \
-DarchetypeVersion=1.0.4-sp7.1 -DgroupId=sample.app -DartifactId=sample \
-Dversion=0.1.0 -Duse-mobylet=true

というような感じです。groupId、artifactId、version は適当に変えてください。あとは、DBFlute も使いたければ、-Duse-dbflute=true もお忘れなく 🙂