[Seasar-user:19214] Re: [mobylet] Mayaaでパソコン用絵文字画像が表示されない
TAKATA, Satoshi
[E-MAIL ADDRESS DELETED]
2010年 1月 31日 (日) 16:22:11 JST
八柳(mickey8)さん
高田です、ご回答ありがとうございます。
ForceWrapMobyletFilterであっさり解決しました。
実は過去ログを見てs2extensionのS2ForceWrapMobyletFilterを
試したりしていましたが、seasar2を使わない場合のために
coreのほうにも同じようなfilter用意されていたんですね。。。
お手数をおかけしました。
On 2010/01/30, at 1:34, Mikitaro Hachiyanagi wrote:
> 高田さん
>
> 八柳(mickey8)です。
>
>> <filter>
>> <filter-name>mobyletfilter</filter-name>
>> <filter-class>org.mobylet.core.http.MobyletFilter</filter-class>
>> </filter>
> mayaaと連携する場合はMobyletFilterではなく、
> ForceWrapMobyletFilterを使用してください。
>
> ドキュメントが整備されておらず申し訳ありませんが、
> mayaa等のテンプレートエンジンと連携するためのFilterになります。
>
> また、上記のfilterに対してinit-paramで
> <init-param>
> <param-name>isAllForceWrap</param-name>
> <param-value>true</param-value>
> </init-param>
> とするか、ロジック内で
> ForceWrapUtils.setForceWrapRequest();
> を呼び出しておくとmayaaと連携が可能になります。
>
> # 設定については[Seasar-user:18647]、[Seasar-user:18836]もご参照いただければと思います
>
> ForceWrapMobyletFilterを使用しない場合は携帯端末からのアクセスでも
> 絵文字が表示されないはずなので、おそらくPCにi絵文字が入っているために
> docomoの絵文字が表示されているように見えたのではないかと思います。
>
> その他は、下記の「Otherキャリアの場合でも絵文字を表示する」の設定がされていれば、
> PCアクセスの際に絵文字が画像として表示されるかと思います。
> http://mobylet.seasar.org/references/emoji.html
>
> よろしくお願いいたします。
>
>
>
>
> 2010年1月29日14:16 TAKATA, Satoshi <[E-MAIL ADDRESS DELETED]>:
>> 高田と申します、はじめまして。
>>
>> mobylet-taglib 1.0.3
>> mayaa 1.2.7
>>
>> の環境で、mayaa単体で使用したときに、mobyletのemojiタグを使うと
>> キャリアがOTHERの場合絵文字画像の<img />タグにならない現象が発生しました。
>>
>> mayaaファイルに
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <m:mayaa xmlns:m="http://mayaa.seasar.org" xmlns:mob="http://taglibs.mobylet.org/">
>> <mob:emoji m:id="sun" name="晴れ" />
>> </m:mayaa>
>>
>> と定義して、htmlファイルに <h2 m:id="sun">ココ</h2> のようにしておくと、
>> FireMobileSimulatorでdocomoにするとアイコンになるのですが、ユーザエージェントをPCにしても
>> <img />タグに置換されません。
>>
>> web.xmlは以下のとおりで、
>> <?xml version="1.0" encoding="UTF-8"?>
>> <web-app id="test" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
>> <display-name>Archetype Created Web Application</display-name>
>> <servlet>
>> <servlet-name>MayaaServlet</servlet-name>
>> <servlet-class>org.seasar.mayaa.impl.MayaaServlet</servlet-class>
>> <load-on-startup>1</load-on-startup>
>> </servlet>
>> <filter>
>> <filter-name>mobyletfilter</filter-name>
>> <filter-class>org.mobylet.core.http.MobyletFilter</filter-class>
>> </filter>
>> <filter-mapping>
>> <filter-name>mobyletfilter</filter-name>
>> <url-pattern>/*</url-pattern>
>> <dispatcher>REQUEST</dispatcher>
>> <dispatcher>FORWARD</dispatcher>
>> <dispatcher>INCLUDE</dispatcher>
>> </filter-mapping>
>> <servlet-mapping>
>> <servlet-name>MayaaServlet</servlet-name>
>> <url-pattern>*.html</url-pattern>
>> </servlet-mapping>
>> </web-app>
>>
>>
>> 少しソースを追ってみたところ、絵文字画像にしている箇所は、MobyletResponseでラップされた
>> MobyletPrintWriterのようですが、上記のようにmayaaからEmojiTagを使った場合はOutputStreamしか
>> 呼ばれず、変換処理が行われていないように見えました。
>>
>> 応急処置として、m.tldを独自クラスに書き換えてEmojiTag#doTag()をオーバーライドし、
>>
>> Mobylet mobylet = MobyletFactory.getInstance();
>> if (mobylet.getCarrier() == Carrier.OTHER) {
>> Emoji emoji = SingletonUtils.get(EmojiPoolFamily.class).getEmojiPool(carrier).get(name);
>> JspWriterUtils.write(
>> getJspContext().getOut(),
>> designer.getImageEmoji(emoji)
>> );
>> } else {
>> JspWriterUtils.write(
>> getJspContext().getOut(),
>> designer.get(name, carrier)
>> );
>> }
>>
>> のように、キャリア判定で対処しています。
>> どこか使い方が間違っているか、この方法以外にあればご教示いただけないでしょうか。
>>
>> 高田 聡
>>
>>
>>
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>
>
>
> --
> ◆---------------------- Lei Hau'oli Co.,Ltd.----------------------◆
>
> 八柳 幹太郎(Hachiyanagi Mikitaro)
> Tel: 080-3300-9893
> Mail: [E-MAIL ADDRESS DELETED]
>
> 株式会社Lei Hau'oli
> 〒150-0001 東京都渋谷区神宮前4丁目18番6号
> Tel: 03-5775-0315 Fax: 03-5775-0314
> ◆------------------------------------------------------------------------◆
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内