携帯用フレームワークの mobylet ですが、サイトが商用製品のような勢いでリニューアルされている。サイトのデザインももちろんのことだが、mobylet の説明についても情報が増えている。今まで、知る人ぞ知る部分だった mobylet.xml についても説明がある。これで、ますます利用しやすくなりますねー。
カテゴリー: Mobylet
リクエストエンコーディングの設定
Mobyletでは、EncodingFilterの代わりにMobyletFilterを使うことになるが、MobyletFilterでも基本的にはエンコーディングの設定は同じで、
<filter> <filter-name>mobyletfilter</filter-name> <filter-class>jp.sf.fess.filter.FessMobyletFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter>
みたいな感じ。コード的には、MobyletFilter の以下のメソッドで設定されることになる。というわけで、何も指定しなければ、windows-31j だね。
protected void initDefaultCharset(FilterConfig filterConfig) { String defCharsetName = null; if (filterConfig != null && (defCharsetName = filterConfig.getInitParameter("encoding")) != null) { Charset defCharset = Charset.forName(defCharsetName); if (defCharset != null) { SingletonUtils.put(defCharset); } } if (SingletonUtils.get(Charset.class) == null) { SingletonUtils.put(Charset.forName(DefCharset.WIN31J)); } }
PCのときにレスポンスをラップさせない
MobyletFilterを通ると、デフォルトでレスポンスがMobylet用にラップされますが(絵文字対策のためとかで)、別にPCだとなくても良い感じではあるので、mobylet.xml をクラスパス上に作って、
<?xml version="1.0" encoding="UTF-8"?> <mobylet> <initializers> <chain>org.mobylet.core.initializer.impl.MobyletInitializerImpl</chain> </initializers> <device> <basedir>device/</basedir> </device> <emoji> <basedir>emoji/</basedir> </emoji> <through> <carrier>OTHER</carrier> </through> </mobylet>
みたいな感じで、through要素でキャリアをしていすれば良い。