今回はGWTでBigDecimalを使う方法。
Google先生に軽く聞いた限りでは見つからなかったのだが、よくよく調べてみると見つかった。
まず、現時点でのGWT(v1.5.2)では、BigDecimalはサポートされていない。BigDecimalをGWTで利用するためには、gwt-mathという外部ライブラリを利用する必要がある。
gwt-math
http://code.google.com/p/gwt-math/
使い方は至って簡単。公式サイトにも書いてあるが、下記の通りだ。
- 利用するモジュールのgwt.xmlに以下のinheritエレメントを追加する。
- <inherits name="com.googlecode.gwt.math.Math"/>
- gwt-math-[version].jarをダウンロードし、クラスパスに追加する。
- もしRPCのパラメータやreturnでBigDecimalを利用する場合は、さらにgwt-math-server-[version].jarもダウンロードし、クラスパスに追加する。
RPCのシリアライズ通信やjsコンパイラの仕組みがよくわかっていないので、どうやって拡張を実現しているのかわからないが、他に特にややこしい設定など必要とせず、これだけで問題ないようだ。
(jsに関しては、java.math.BigDecimalをエミュレーションするJavaScriptを用意しているように見える)
0 件のコメント:
コメントを投稿