[Seasar-user:3774] Re: [S2JSF(Teeda)] 携帯ブラウザで動作しません。
Shinpei Ohtani
[E-MAIL ADDRESS DELETED]
2006年 6月 6日 (火) 14:39:03 JST
shotです。
06/06/06 に O.K.U.<[E-MAIL ADDRESS DELETED]> さんは書きました:
> O.K.U.です。久々の投稿です。
いつもありがとうございます^^
> S2JSF Example をFOMAのブラウザで試したところ、
> デフォルトでは S2JSF 1.0.14 (MyFaces) でも
> S2JSF 1.1.0 Beta1 (Teeda)でも Hello すら動作しません。
>
> 但しMyFacesの方は、web.xml で
> org.apache.myfaces.ALLOW_JAVASCRIPT を false にすると
> 動作しました。
>
> このことから、おそらく携帯ブラウザ(AUでも動作しませんでした)での
> JavaScript の実行に制約があるのが原因とは思うのですが、Teeda でも
> MyFaces 同様に JavaScript を使用しない設定というのは可能でしょうか?
>
> MyFaces の方は Hello で出力するメッセージを日本語にすると、
> 文字参照になっているせいか、文字化けするので Teeda に期待したのですが...
ちょっとだけ実験してみました。
S2JSF1.0.14をiModeシミュレーターで表示するという実験です。
結論から言うと、iModeシミュレーターを試した限り
携帯のタグの制約だと思います。なので、すぐにJavaScript以前の問題で
使えるタグ・使えないタグがあるんではないかなと。
たとえば、CHTMLではaタグのonClickを解釈できなかったりしています。
こうなるとindex.htmlのmenu部分でのm:action部分がきちんと
でてきません。ほかにもtableタグなんかが怪しそうです。
一方で、hello.htmlからレイアウト機能をはずして
以下のようにしてみました。
<html xmlns:m="http://www.seasar.org/maya">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-31j" />
<title>Hello</title>
</head>
<body>
<span m:inject="s:insert" m:name="body">
Hello <span m:value="#{message}">hoge</span>
<form action="hoge" m:passthrough="true"></form>
</span>
</body>
</html>
この場合、正しく画面が表示されています。
HTMLソースとしては以下のようになってます。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-31j" />
<title>Hello</title>
</head>
<body>
Hello abc
<form action="hoge"></form>
</body></html>
このように長い目で見れば対応策はあると思います。
しかし、いますぐっていう対応は難しいと思います。
Seasar-user メーリングリストの案内