- - PR -
携帯ブラウザで初期入力モードを設定するための、strutsタグの拡張について
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-01-16 12:16
お世話になります、ワカです。
struts1.2で携帯向けのサイトを構築しています。 携帯ブラウザで 電話番号などを入力させる場合、<html:text>タグを使用するかと思いますが、 これに「istyle」「mode」属性を併せて使いたいと考えています。 標準のstrutsタグに上記属性が存在しないため、 struts-html.tldに定義を追記し、 org.apache.struts.taglib.html.TextTagをextendsしたクラスを作りましたが、 うまく「istyle」で設定したモードが有効とならないようです。 恐らくstrutsタグを拡張したクラスの作り方に問題があると思うのですが、 ソースを読み解く時間的・技術的余裕がなく、大変困っています。 同様のことを実現された方、アドバイスいただけませんでしょうか。 ■struts-html.tldへの追記
■strutsタグを拡張したクラス
■jspへの記述
| ||||||||||||
|
投稿日時: 2006-01-16 12:39
試していないですが、
renderInputElementメソッドもオーバーライドする必要がある気がします。 もしかしたら、getElementCloseをオーバーライドするって方が楽かも。
「タグの閉じ」を返すメソッドをオーバーライドして、 「追加した属性」+「タグの閉じ」を返すように変更すれば、 必ずgetElementCloseが呼ばれるので、「追加した属性」がレンダリングされるでしょう。 | ||||||||||||
|
投稿日時: 2006-01-16 13:10
というか、そういう用途のために prepareOtherAttributes(StringBuffer handlers) というメソッドが既に用意されていますよ。 | ||||||||||||
|
投稿日時: 2006-01-16 13:40
かつのりさま、yamasaさま 書き込みありがとうございます。
アドバイスいただいた内容を元に ■strutsタグを拡張したクラス
としたところ、目的の動作を得ることができました。 なるほど、うまくできているのですね!! ありがとうございました。 | ||||||||||||
|
投稿日時: 2006-01-16 21:52
>yamasaさん
おー、そんなメソッドがあったんですね。 勉強になります。 |
1