[Seasar-user:8768] Re: [Teeda] htmlタグの一部をエスケープ

Shinpei Ohtani [E-MAIL ADDRESS DELETED]
2007年 6月 28日 (木) 14:28:00 JST


大谷です.

別のSeasarUserの件でも言われたので、さっくりと
改行をbrタグに置き換えるConverterを作成してみました.

public class TextareaSeparatorCharacterConverter extends CharacterConverter {

    private static String SEP = System.getProperty("line.separator");

    public Object getAsObject(FacesContext context, UIComponent component,
            String value) throws ConverterException {
        return value;
    }

    public String getAsString(FacesContext context, UIComponent component,
            Object value) throws ConverterException {
        String s = super.getAsString(context, component, value);
        return s.replaceAll(SEP, "<br/>");
    }

}

使い方は下記のような感じです.

public static final String bbb_textareaSeparatorCharacterConverter = null;

このような形で要件を満たすように、getAsString()のメソッドを
作りこめば良いと思います.

07/06/28 に Shinpei Ohtani<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 大谷です.
>
> > 少し考えたので、実践はしてないのですが、
> > characterConverter などを利用して、改行コードを、
> > <br />に置き換えるようなことはできないでしょうか。
> >
> > Converterの詳細をまだ、理解しきれていないので、
> > 見当違いなことをいってしまっていたら大変申し訳ございません。
>
> いえ、可能だと思いますし、
> 作るならConverterとして作っておくのは良い選択なのではないでしょうか.
>
>
> 28 Jun 2007 10:32:18 +0900 に 山下 真里<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > 大谷様
> >
> > いつもお世話になっております。
> > 山下です。
> >
> > やはり、自前ロジックを用意するしかないですよね。
> >
> > 少し考えたので、実践はしてないのですが、
> > characterConverter などを利用して、改行コードを、
> > <br />に置き換えるようなことはできないでしょうか。
> >
> > Converterの詳細をまだ、理解しきれていないので、
> > 見当違いなことをいってしまっていたら大変申し訳ございません。
> >
> > 山下
> >
> >
> > ----- Original Message -----
> > 送信者: Shinpei Ohtani<[E-MAIL ADDRESS DELETED]>
> > 宛先: [E-MAIL ADDRESS DELETED]
> > 日付:Wednesday, June, 27, 2007, 11:36 AM
> > 件名: [Seasar-user:8706] Re:[Teeda] htmlタグの一部をエスケープ
> >
> > >
> > >
> > > 大谷です.
> > >
> > > > Teeda で htmlタグをエスケープせずに、表示する方法としましては、
> > > > <... te:escape="false" .../>としますが、
> > > > 例えば、<br />だけ、エスケープしないで表示したりすることなどは
> > > > できないでしょうか?
> > >
> > > これはちょっと難しいように思います.
> > > <... te:escape="false" .../>とあとは自前でエスケープ変換ロジックを
> > > 書くのが良いのではないでしょうか.
> > >
> > > 宜しくお願いします.
> > >
> > > 27 Jun 2007 10:42:18 +0900 に 山下 真里<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > > いつもお世話になっております。
> > > > 山下です。
> > > >
> > > > Teeda で htmlタグをエスケープせずに、表示する方法としましては、
> > > > <... te:escape="false" .../>としますが、
> > > > 例えば、<br />だけ、エスケープしないで表示したりすることなどは
> > > > できないでしょうか?
> > > >
> > > > データベースから、データを取得する際に、改行コードを
> > > > <br />に変換して画面へ出力しています。
> > > > te:escape="false"を利用することにより、
> > > > 画面上、改行されて表示できるようになりました。
> > > > しかし、データベースに、<img src="">などといった
> > > > タグが登録されている場合、一度、エスケープ変換してから、
> > > > 画面へ出力をしております。
> > > >
> > > > プログラミングをしていると、<br />のみは、
> > > > エスケープせずに表示し、<img ..>などは、
> > > > エスケープして表示したい場合などがあるかと思います。
> > > > こういった場合、皆様はどのように対応を
> > > > されているのでしょうか。
> > > >
> > > > データベースに、<img ...>などを登録させなければ、
> > > > よいかもしれませんが、ほかに対応方法がありましたら
> > > > 教えていただけないでしょうか。
> > > >
> > > > よろしくお願いいたします。
> > > >
> > > > 山下
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > [E-MAIL ADDRESS DELETED]
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > >
> > >
> > >
> > > --
> > > =============================
> > > Shinpei Ohtani
> > > [E-MAIL ADDRESS DELETED]
> > > =============================
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
>
>
> --
> =============================
> Shinpei Ohtani
> [E-MAIL ADDRESS DELETED]
> =============================
>


-- 
=============================
Shinpei Ohtani
[E-MAIL ADDRESS DELETED]
=============================



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