[Seasar-user:21007] Re: [Teeda]レンダリング時にタグの属性が重複して出力される

しゃってん [E-MAIL ADDRESS DELETED]
2011年 9月 13日 (火) 11:09:51 JST


齊藤(しゃってん)です。

対応ありがとうございます。
こちらで気づいた部分に関して修正されていることを確認いたしました。
(既存システムの動作も問題ありません。)

確認の際に、新たに重複されて出力される項目を発見いたしました。
input type="checkbox" の際に checked="checked" が記述されていると
レンダリング時にchecked属性が重複されて出力されていました。

また、input type="checkbox" checked="checked" と記述されていると、
Pageクラス側の値に関わらず画面描画時にチェックがついた状態で常に表示されます。
# デフォルトチェック表示をHTMLにchecked="checked" を記述して
# 表現している既存のシステムは注意が必要?


以上、よろしくお願いいたします。


2011年9月11日23:00 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> 小林 (koichik) です.
>
> 対応して SNAPSHOT をデプロイしたのでご確認ください.
> # 修正は Teeda-Core のみ.
>
> http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-core/1.0.13-sp11-SNAPSHOT/teeda-core-1.0.13-sp11-20110911.132724-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-ajax/1.0.13-sp11-SNAPSHOT/teeda-ajax-1.0.13-sp11-20110911.132724-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-extension/1.0.13-sp11-SNAPSHOT/teeda-extension-1.0.13-sp11-20110911.132724-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-tiger/1.0.13-sp11-SNAPSHOT/teeda-tiger-1.0.13-sp11-20110911.133155-1.jar
>
> 修正したコンポーネントは以下の通りです.
>
> ・InputHidden
> ・InputSecret
> ・SelectBooleanCheckbox
> ・SlectManyCheckbox
> ・SelectManyListbox
> ・SelectOneRadio
>
>
> On Fri, 09 Sep 2011 18:00:23 +0900, Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> wrote:
>
>> 小林 (koichik) です.
>>
>> 報告ありがとうございます、週末にでも対応したいと思います。
>>
>>
>> Date: Fri, 9 Sep 2011 11:52:25 +0900
>> From: 齊藤正行 <[E-MAIL ADDRESS DELETED]>
>> Subject: [Seasar-user:20994] [Teeda]レンダリング時にタグの属性が重複して出力される
>>
>> > しゃってんです。
>> >
>> >
>> > Teedaを利用させていただき開発を行っております。
>> >
>> > HTMLのレンダリング時に出力されるタグの挙動について、
>> > 動作上は問題にはなっておりませんが気になる点がありましたので報告いたします。
>> >
>> > inputタグの出力において name および type が重複して出力される場合がありあました。
>> >
>> >
>> > 1.
>> > type="password" かつ name属性が記述されている際に、
>> >   HTMLに記述されているname属性とTeeda側でformのID等を追加したname属性の両方が出力されてしまう。
>> >
>> > <form id="editForm">
>> > <input type="password" id="userPass" name="userPass" />
>> > </form>
>> >   ↓↓↓
>> > <form id="editForm" ・・・>
>> > <input type="password" id="userPass" name="editForm:userPass" ・・・
>> > name="userPass" />
>> > </form>
>> >
>> > ※type="text"等(radioを除く)の場合は、HTMLに記述されたname属性は破棄されています。
>> > こちらについては、type="radio"以外のinputタグにname属性を記述しないことで対処できております。
>> >
>> >
>> > 2.
>> > type="checkbox"とすると、type属性が2度出力されてしまう。
>> >
>> > <form id="editForm">
>> > <input type="checkbox" id="checkFlag" ・・・ />
>> > </form>
>> >   ↓↓↓
>> > <form id="editForm" ・・・>
>> > <input type="checkbox" id="checkFlag" name="editForm:checkFlag"
>> > value="true" ・・・ type="checkbox" />
>> > </form>
>> >
>> > ※type="text"等の場合は、type属性は1つのみ出力されています。
>> >
>> > こちらでソースをおってみたところ、
>> > org.seasar.teeda.core.render.html.HtmlSelectBooleanCheckboxRenderer
>> > の ignoreComponent に設定される内容に TYPE_ATTR が記述されていないため、
>> > 制御対象外のタグを出力する際にtype属性も出力されてしまっているようです。
>> >
>> > 試せてはおりませんが、複数項目のチェックボックスも同様かと思われます。
>> >
>> >
>> > 利用しているTeedaのバージョンは以下の通りです。
>> > teeda-core-1.0.13-sp10
>> > teeda-extension-1.0.13-sp10
>> > teeda-tiger-1.0.13-sp10
>> >
>> > 以上、ご確認お願いいたします。
>> > _______________________________________________
>> > Seasar-user mailing list
>> > [E-MAIL ADDRESS DELETED]
>> > https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>> --
>> {
>>   name: "Koichi Kobayashi",
>>   mail: "[E-MAIL ADDRESS DELETED]",
>>   blog: "http://d.hatena.ne.jp/koichik/",
>>   twitter: "@koichik"
>>  }
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
> --
> {
>  name: "Koichi Kobayashi",
>  mail: "[E-MAIL ADDRESS DELETED]",
>  blog: "http://d.hatena.ne.jp/koichik/",
>  twitter: "@koichik"
> }
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


Seasar-user メーリングリストの案内