2014年11月20日木曜日

Tomcat7 Servlet3.0のPart#getPartがフィルターと一緒だとnullを返しやがる件

MultipartConfigアノテーションにより簡単にファイルアップロードが出来るようになりました!

とか言って騙されたよ!2時間はハマったわ!


サーブレットクラスに@MultipartConfigをつけなければ、Part#getPart(...)はnullを返す、そこまでは最初に把握したのだが、それをしっかりつけてんのにやはりnull。

なんじゃそりゃあ、と思ったら、フィルターを併用している場合はこれじゃ動かないとか。仕様なのかバグなのかよくわからないけど。


で、解決のためのおまじないが、server.xmlのContext要素(Webアプリの名前とか書いてあるやつ)に、


<Context allowCasualMultipartParsing="true" docBase="...

と、 allowCasualMultipartParsing="true" を追加する。

これをやるとMultipartConfigがそもそもなしでもよくなるらしいが、それはともかくフィルターがあってもgetPartはちゃんと値を返すようになりました!


・・・まだその後に普通のバグがあって動いてないけど!

2014年11月11日火曜日

Eclipseで既存のプロジェクトをGradleプロジェクトに変換

ただのJavaプロジェクトとして存在しているプロジェクトをGradleプロジェクトに変える手順。



  1. プロジェクトを右クリックして、Configure -> Convert to Gradle Project

以上。

1つしかないw

手順ではなかった。いつもメニューを見失うのでメモでした。


これやるとプロジェクトのビルドパスがリセットされるので、プロジェクト参照とはもう一度設定する必要がある(build.gradleに何か書けばいいとか言う話を見たような覚えもあるが、俺はそこまで要求してないので知らない)

JQuery

checkbox

http://qiita.com/ituki_b/items/17eab8c38a2ad5392660

こんな。attrではダメだそうで。
$(checkbox).prop("checked", boolean_checked);